上一页|下一页

自动加载

简介

您可使用自动加载功能以将源表集保留在内存中。用户或过程将源表置于指定的主机位置(拖放区)。定期更新相应的 in-memory 数据以反映拖放区的内容。
自动加载的益处包括以下方面:
  • 无需启动服务器。若 SAS LASR Analytic Server 停止,则下次运行自动加载时会从拖放区启动服务器和加载数据。
  • 无需在元数据中注册源表。
  • 基于浏览器的对本地导入文件的限制不适用于自动加载功能。
有关自动加载的限制,请参见其他注意事项
有关基本信息的简洁汇总,请参见“SAS Visual Analytics: Getting Started with Data on Windows”中的Autoload for Beginners

自动加载的工作原理

下面总结了自动加载的工作原理:
  1. 自动加载功能定期扫描指定主机目录的内容,即自动加载数据目录拖放区
  2. 每次扫描后,自动加载功能会按如下方式与自动加载数据目录中的源表同步 in-memory 数据:
    • 对于每个带分隔符的文件和电子表格,将创建相应的源表(SAS 数据集)。对于已具有更新的相应源表的带分隔符文件或电子表格,可忽略该步骤。
    • 加载内存中尚不存在的源表。
    • 若源表比它们相应的 in-memory 表要新,则刷新这些源表(卸载,而后重新加载)。
    • 在开始运行自动加载时,位于 Unload 子目录和内存中的源表将在运行期间卸载。
    • 位于 Append 子目录且比它们相应的 in-memory 表还新的源表将追加至它们相应的 in-memory 表。若 Append 子目录中的表没有相应的 in-memory 表,则将该表加载为新表。
      • 每个 Append 表还追加至其在自动加载数据目录中的相应表。若不存在相应表,则在自动加载数据目录中添加新表。
      • 为防止重复追加操作,Append 子目录中的数据将与自动加载数据目录中的相应数据作比较。仅当 Append 子目录中的数据比其在自动加载数据目录中的相应数据更新时,才会执行追加操作。
    注: 要确保刷新和追加操作仅针对那些新于其对应 in-memory 表的源表发生,自动加载功能会比较源表的文件时间戳与其相应 in-memory 表的加载时间戳。

自动加载目录

自动加载数据目录(拖放区)

在标准配置中,自动加载数据目录位于 SAS 配置目录的“AppData”分支中:
/AppData/SASVisualAnalytics/VisualAnalyticsAdministrator/AutoLoad
每个自动加载数据目录都有四个必需的子目录(Append、Formats、Logs 和 Unload)。拖放区一词指的是自动加载数据目录及其子目录。
注: 预定器帐户和在这些目录中放置表的所有用户必须对这些目录具有“读取”和“写入”访问权限。

自动加载脚本目录

在标准配置中,自动加载脚本目录位于 SAS 配置目录的“Applications”分支中:
/Applications/SASVisualAnalytics/VisualAnalyticsAdministrator/
注: 预定器帐户必须对自动加载脚本目录及其内容具有“读取”和“写入”访问权限。

自动加载的时间

自动加载作为定期预定任务运行。在标准配置中,新运行的自动加载每 15 分钟启动。计时由自动加载脚本目录中 schedule.sh(在 UNIX 上)或 schedule.bat(在 Windows 上)的设置控制。
以下是其他详细信息:
  • 之前的运行过程完成后,才会启动新一轮的自动加载。
  • 启动关联的 SAS LASR Analytic Server 不会触发自动加载立即运行。
  • 停止关联的 SAS LASR Analytic Server 不会停止自动加载活动。若在自动加载开始时该服务器处于关闭状态,则自动加载将启动该服务器。
UNIX 特定: 时间间隔时钟从整点开始。例如,若时间间隔为 15 分钟,则自动加载将在整点以及整点后的 15、30 和 45 分钟运行。
Windows 特定: 预定了自动加载时,时间间隔时钟将会启动。例如,若时间间隔为 15 分钟,则自动加载将在调用预定脚本后的 15 分钟运行,并在这之后每 15 分钟运行一次。

如何启动自动加载

要启动自动加载实现的预定运行,请执行下列操作:
  1. 在托管实现的机器上,标识或创建预定器帐户。
    • 授予该帐户启动相关联的 SAS LASR Analytic Server 以及加载数据所需的主机层权限。请参见主机帐户权限
    • 在 UNIX 上启用运行 cron 作业的帐户。
    • SAS 配置目录中,授予该帐户对自动加载目录及其内容的读取和写入权限。对于自动加载的公共实现,位置如下:
      数据:
      /AppData/SASVisualAnalytics/VisualAnalyticsAdministrator/AutoLoad
      脚本:
      /Applications/SASVisualAnalytics/VisualAnalyticsAdministrator
      注: 对于公共实现,不需要访问其他实现(例如 EVDMLA 和 VALIBLA)的子目录。
  2. 在元数据中,创建相应的单个元数据身份。(对于公共实现,新身份不需要任何显式组成员关系。)请参见如何添加用户
    注: 该需求反映的是标准配置。请参见元数据服务器连接
    确保预定器帐户的元数据身份在目标服务器、逻辑库和文件夹上具有必需的元数据层权限
    对于公共实现,所有注册的用户都具有足够的访问权限,因此不需要任何调整。以下为详细信息:
    服务器:
    公共 LASR Analytic Server
    RM, WM, A
    逻辑库:
    Visual Analytics 公共 LASR
    RM, R, WM, A
    文件夹:
    /Shared Data/SAS Visual Analytics/Public/LASR
    RM, R, WMM, W
  3. 以预定器帐户身份登录主机,导航至实现的脚本目录,然后调用 schedule.sh(在 UNIX 上)或 schedule.bat(在 Windows 上)。
    提示
    您可以通过编辑预定脚本更改预定时间间隔。对于验证,建议时间间隔为 2 分钟。
  4. 确认该预定任务正在运行。
    Windows 特定: 访问任务计划程序(例如,选择开始然后选择控制面板然后选择管理工具然后选择任务计划程序)。在任务计划程序库中找到该任务(例如,Visual Analyt Hi-Perf Cfg - Auto Load Scheduler)。
    UNIX 特定: 运行以下命令:crontab -l
  5. 若有必要,请编辑预定脚本以调整时间间隔。标准时间间隔为 15 分钟。
  6. (可选)验证放置在自动加载数据目录中的表是否按 自动加载的工作原理 中所述进行了处理。
    例如,将 CSV 文件或 SAS 数据集放置在自动加载数据目录中。15 分钟后,使用 LASR 表选项卡验证数据是否已加载。请参见获取表信息

如何停止自动加载

要停止预定任务,使用预定器帐户调用 unschedule.sh(在 UNIX 上)或 unschedule.bat(在 Windows 上)。停止自动加载并不会停止关联的 SAS LASR Analytic Server。

如何添加实现

简介

每个支持自动加载功能的 LASR 逻辑库都必须有其自己的自动加载实现。有关预定义实现的详细信息,请参见预定义的 LASR 逻辑库
该部分将创建销售数据自动加载的实现。以下是该示例创建的主机目录的说明:
示例:自动加载的 VASALES 实现
自动加载目录
注: 在之前的图像中,新的自动加载数据目录位于新的自动加载脚本目录之上。从图像中省略了对该示例不重要的目录。

说明:UNIX

  1. 创建如下新的自动加载数据目录:
    autoload-data-branch/VASALES
    autoload-data-branch/VASALES/Append
    autoload-data-branch/VASALES/Formats
    autoload-data-branch/VASALES/Logs
    autoload-data-branch/VASALES/Unload
  2. 创建新的自动加载脚本目录。
    1. 为现有自动加载脚本目录生成平级副本。对于该示例,将 autoload-scripts-branch/VALIBLA(或与该预定义的现有脚本目录相对应的目录)复制到新目录 autoload-scripts-branch/VASALES
      注: 在现有的自动加载脚本分支之下创建新的脚本目录可便于迁移。
    2. 在新的 autoload-scripts-branch/VASALES/Logs 目录中,删除所有复制的文件。
  3. 在新的 autoload-scripts-branch/VASALES 目录中,按如下所示编辑复制的文件:
    AutoLoad.sas
    %LET AL_META_LASRLIB= 值改为新实现的 LASR 逻辑库的元数据名称。例如:
    %LET AL_META_LASRLIB=SalesAutoload;
    runsas.sh
    编辑 AUTOLOAD_ROOT= 值,以引用新的自动加载脚本目录。例如:
    AUTOLOAD_ROOT="autoload-scripts-branch/VASALES"
    请验证引用了合适的配置文件。请参见自动加载的配置文件
    schedule.sh 和 unschedule.sh
    编辑 RUNSAS_PATH= 值,以引用新实现的自动加载脚本目录。例如:
    RUNSAS_PATH="autoload-scripts-branch/VASALES/runsas.sh"
  4. SAS Management Console SAS Environment Manager 中,为生成的 LASR 表对象标识或创建元数据文件夹(在该示例中为 /Shared Data/SAS Visual Analytics/Autoload/SALES)。
  5. 配置 LASR 逻辑库以支持自动加载。
    • 若您不想修改现有逻辑库,则添加 LASR 逻辑库若您不想将新逻辑库分配至现有服务器,添加 SAS LASR Analytic Server
    • 逻辑库名称必须与您在步骤 3 中的 AutoLoad.sas 文件内输入的值完全匹配(在该示例中为 SalesAutoload)。
    • 逻辑库必须在具有适当权限设置的元数据文件夹中(在该示例中为 /Shared Data/SAS Visual Analytics/Autoload/SALES)。
    • 按如下方式设置逻辑库的扩展属性
      VA.AutoLoad.Location
      autoload-data-branch/VASALES
      VA.Default.MetadataFolder
      /Shared Data/SAS Visual Analytics/Autoload/SALES
      VA.AutoLoad.AutoStart
      Yes
      VA.AutoLoad.Enabled
      Yes
      VA.AutoLoad.Sync.Action1
      Yes
      VA.AutoLoad.Compress.Enabled
      No(要启用压缩,则设置为 Yes
      VA.AutoLoad.Debug.Enabled
      No
      VA.AutoLoad.ExpandChars.Enabled
      No
      VA.AutoLoad.Import.Delimiter.TXT
      TAB
      VA.AutoLoad.Import.RowsToScan
      500
      1将 6 个同步属性(EnabledImportLoadRefreshAppendUnload)都设置为 Yes
      提示
      若新逻辑库的扩展属性最初不可见,则进行保存,然后重新打开逻辑库。
  6. 以预定器帐户身份登录主机并且调用 schedule.sh. 以启动新的预定任务。

说明:Windows

  1. 创建如下新的自动加载数据目录:
    autoload-data-branch\VASALES
    autoload-data-branch\VASALES\Append
    autoload-data-branch\VASALES\Formats
    autoload-data-branch\VASALES\Logs
    autoload-data-branch\VASALES\Unload
  2. 创建新的自动加载脚本目录。
    1. 为现有自动加载脚本目录生成平级副本。对于该示例,将 autoload-scripts-branch\VALIBLA(或与该预定义的现有脚本目录相对应的目录)复制到新目录 autoload-scripts-branch\VASALES
      注: 在现有的自动加载脚本分支之下创建新的脚本目录可便于迁移。
    2. 在新的 autoload-scripts-branch\VASALES\Logs 目录中,删除所有复制的文件。
  3. 在新的 autoload-scripts-branch\VASALES 目录中,按如下所示编辑复制的文件:
    AutoLoad.sas
    %LET AL_META_LASRLIB= 值改为新实现的 LASR 逻辑库的元数据名称。例如:
    %LET AL_META_LASRLIB=SalesAutoload;
    runsas.bat
    编辑 AUTOLOAD_ROOT= 值,以引用新的自动加载脚本目录。例如:
    AUTOLOAD_ROOT="autoload-scripts-branch\VASALES"
    请验证引用了合适的配置文件。请参见自动加载的配置文件
    schedule.bat 和 unschedule.bat
    编辑 RUNSAS_PATH= 值,以引用新实现的自动加载脚本目录。例如:
    RUNSAS_PATH="autoload-scripts-branch\VASALES\runsas.bat"
    在 schedule.bat 和 unschedule.bat 文件中,更改预定任务的名称。例如,若您首先从自动加载的公共实现复制脚本,则复制的文件中的任务名称最初为 Visual Analyt Hi-Perf Cfg - Auto Load Scheduler。将该名称更改为任何其他值,例如 Private Autoload Scheduler\"。(名称更改是必需的,因为 Windows 任务计划程序要求每个任务名称是唯一的。)
  4. SAS Management Console SAS Environment Manager 中,为生成的 LASR 表对象标识或创建元数据文件夹(在该示例中为 /Shared Data/SAS Visual Analytics/Autoload/SALES)。
  5. 配置 LASR 逻辑库以支持自动加载。
    • 若您不想修改现有逻辑库,则添加 LASR 逻辑库若您不想将新逻辑库分配至现有服务器,添加 SAS LASR Analytic Server
    • 逻辑库名称必须与您在步骤 3 中的 AutoLoad.sas 文件内输入的值完全匹配(在该示例中为 SalesAutoload)。
    • 逻辑库必须在具有适当权限设置的元数据文件夹中(在该示例中为 /Shared Data/SAS Visual Analytics/Autoload/SALES)。
    • 按如下方式设置逻辑库的扩展属性
      VA.AutoLoad.Location
      autoload-data-branch\VASALES
      VA.Default.MetadataFolder
      /Shared Data/SAS Visual Analytics/Autoload/SALES
      VA.AutoLoad.AutoStart
      Yes
      VA.AutoLoad.Enabled
      Yes
      VA.AutoLoad.Sync.Action1
      Yes
      VA.AutoLoad.Compress.Enabled
      No(要启用压缩,则设置为 Yes
      VA.AutoLoad.Debug.Enabled
      No
      VA.AutoLoad.ExpandChars.Enabled
      No
      VA.AutoLoad.Import.Delimiter.TXT
      TAB
      VA.AutoLoad.Import.RowsToScan
      500
      1将 6 个同步属性(EnabledImportLoadRefreshAppendUnload)都设置为 Yes
      提示
      若新逻辑库的扩展属性最初不可见,则进行保存,然后重新打开逻辑库。
  6. 以预定器帐户身份登录主机并且调用 schedule.bat 以启动新的预定任务。

其他注意事项

  • 并不是所有表都可自动加载。请参见加载方法
  • 分布式和非分布式服务器均支持自动加载。不过,您无法从并置存储中自动加载数据。
  • 每次运行都会生成新的日志文件。autoload-scripts/Logs 目录必须定期清空。
  • 您无法以交互方式重新加载已经自动加载的表。可改为以交互方式卸载该表,然后等待下次运行自动加载预定任务,届时将刷新(卸载,再重新加载)该表。
  • 您无法自动加载基本名称相同的多个表。例如,若文件 abc.xls 和 abc.xlsx 放置于某个自动加载数据目录中,则仅加载一个数据集 (abc.sas7bdat)。
  • 在多机部署中,与自动加载相关的文件位于托管工作区服务器的机器上。
  • 若将带分隔符的文件或电子表格从自动加载数据目录移至 Unload 子目录,请记住还要删除该文件相应的 SAS 数据集(从自动加载数据目录以及适用的 Append 子目录中删除)。
  • 若某表同时存在于自动加载数据目录和 Unload 子目录中,则该表将在更替的自动加载运行过程中反复加载和卸载。
  • 若支持自动加载的 LASR 逻辑库的元数据名称包含 UTF-8 字符,则相应的 AutoLoad.sas 程序必须以 UTF-8 编码保存。(在 AutoLoad.sas 程序中,%LET AL_META_LASRLIB= 参数指定逻辑库的元数据名称。)
  • 所有同步操作都会按需创建和更新相应的 LASR 表对象。不过,自动加载不删除 LASR 表对象。
  • 自动加载直接从 SAS Foundation 运行 SAS 会话。要为自动加载修改会话行为,请在适当的位置设置 SAS 选项(如 MEMSIZE)。请参见自动加载的配置文件

参考

自动加载的日志和过程 ID

综合日志和任何列表输出都写入 autoload-scripts/Logs 目录。每次运行自动加载都会生成单独的日志,其文件名格式为 AutoLoad_date-and-time-stamp
其他日志和任何调试输出都写入 autoload-data/Logs 目录。每次运行自动加载都会生成新的日志(数据集和文本格式)并覆盖先前日志。
自动加载过程 ID (PID) 文本文件写入 va.monitoringPath/PIDs 目录,其格式为 autoload_library-name.pid(例如,autoload_VisualAnalyticsPublicLASR.pid)。请参见va.monitoringPath
UNIX 特定: 其他 PID 文件(autoload.pid)写入自动加载脚本目录。该其他 PID 文件用于阻止 runsas 脚本再次启动(若它已经在运行)。

元数据服务器连接

在标准配置中,AutoLoad.sas 程序中没有指定元数据连接选项。连接信息获取情况如下:
  • 从关联的 sasv9.cfg 文件获取元数据储存库名称。请参见自动加载的配置文件
  • 从 sasv9.cfg 文件在其 METAPROFILE 设置中引用的文件获取元数据服务器的机器名称和端口。首选该方法的原因是其既支持群集元数据服务器又支持非群集元数据服务器。
  • 预定自动加载的帐户也运行自动加载并连接至元数据服务器。首选该方法的原因是其无需在任何主机文件中指定凭证。
注: 有关元数据服务器连接选项的信息,请参见 SAS Language Interfaces to Metadata

自动加载的配置文件

尽管自动加载不在 SAS Application Server 中运行,但它可从服务器配置文件中借用设置。该借用功能可减少在多个位置设置相同选项的需求。每个自动加载的实现都有其自己的配置文件引用列表。
Windows 特定: 该列表位于实现的自动加载脚本目录的 AutoLoad.cfg 文件中。
UNIX 特定: 该列表位于实现的 runsas 脚本的 SASCFGPATH= 变量中。
标准列表按以下顺序引用下列文件:
  1. 实现的 runsas 脚本中指定的 SAS Application Server 的 sasv9.cfg 文件(例如,SERVER_CONTEXT= SASApp)。指定的 SAS Application Server 和自动加载实现必须在同一机器上。
  2. 指定的 SAS Application Server 的 sasv9_usermods.cfg 文件。
  3. 实现的 AutoLoad.cfg 文件。
  4. 实现的 AutoLoad_usermods.cfg 文件。
之前的列表与优先顺序相反。若在多个配置文件中设置某选项,则最后列出的文件中的设置具有优先权。例如,AutoLoad_usermods.cfg 文件中的设置覆盖其他配置文件中任何冲突的设置。
您可根据需要在引用的配置文件中添加、删除或调整选项。请参见 SAS Intelligence Platform: System Administration Guide 中的Reference: Configuration Files for SAS Servers

用户定义的自动加载格式

常规信息,请参见支持用户定义的格式
任何通过引用的配置文件可以使用的格式目录可用于自动加载。
若希望特定的用户定义格式仅对自动加载的特定实现可用,请将该实现的格式目录置于 autoload-data-branch/Formats 目录。该目录中的目录对于通过配置文件可用于自动加载的同名目录具有优先权。

用于自动加载的逻辑库级别的属性

以下属性支持自动加载:
VA.AutoLoad.Location
设置自动加载数据目录。若更改位置,请确保创建所必需的子目录。对于新的逻辑库,建议的值为 autoload-data-branch/LIBNAME
VA.Default.MetadataFolder
设置自动加载生成的 LASR 表对象的元数据位置。对于新逻辑库,初始值是与 /Shared Data/SAS Visual Analytics/Autoload 相对应的目录。
VA.AutoLoad.Enabled
指定逻辑库是否支持任何自动加载功能。对于新的逻辑库,初始值为 No
注: 将该属性设置为 Yes 不会禁用交互式加载。您可以交互式地将数据加载至支持自动加载的逻辑库。
VA.AutoLoad.Sync.Enabled
指定是否启用同步操作。这是其他 *.Sync.* 属性的父级设置(前提条件)。对于新的逻辑库,初始值为 No
要预览同步操作,请将该值设置为 No,运行自动加载,然后检查自动加载日志文件。
VA.AutoLoad.Sync.Import
指定是否启用导入操作。对于新的逻辑库,初始值为 No
VA.AutoLoad.Sync.Load
指定是否启用加载操作。对于新的逻辑库,初始值为 No
VA.AutoLoad.Sync.Refresh
指定是否启用刷新操作。对于新的逻辑库,初始值为 No
VA.AutoLoad.Sync.Append
指定是否启用追加操作。对于新的逻辑库,初始值为 No
VA.AutoLoad.Sync.Unload
指定是否启用卸载操作。对于新的逻辑库,初始值为 No
VA.AutoLoad.Compress.Enabled
指定在自动加载数据时是否进行压缩。默认值为 No。(对于管理报表逻辑库 EVDMLA,初始值为 Yes。)
VA.AutoLoad.Debug.Enabled
指定是否为自动加载启用调试功能。默认值为 No
VA.AutoLoad.ExpandChars.Enabled
指定自动加载是否支持字符变量长度的扩展。默认值为 No。要启用字符扩展,请将值设置为 Yes
注: 将未进行 UTF-8 编码的 SAS 数据集自动加载至使用 UTF-8 编码的服务器时,会发生字符扩展。有关详细信息,请参见 SAS National Language Support (NLS): Reference Guide 中的 Avoiding Character Data Truncation By Using the CVP Engine
警告:
格式宽度不会随字符变量长度一起扩展。若启用字符扩展,则 In-Memory 数据可能会被截断。
在设计器和探索器中,可以根据需要调整格式。为了最大限度地降低潜在影响,请在仅包含需要字符扩展的表的单独 LASR 逻辑库中启用字符扩展。有关详细信息,请参见技术文章“Processing Multilingual Data with the SAS 9.2 Unicode Server”
VA.AutoLoad.Import.Delimiter.TXT
指定自动加载功能在导入 TXT 文件时使用的分隔符。默认值为 TAB,该值指定制表符作为分隔符。您可以指定单个字符(例如 |!&SPACE(使用空格分隔符)或十六进制代码(例如 ‘09’x)。
VA.AutoLoad.Import.RowsToScan
指定要扫描的行数以确定导入表中每一列的数据类型和长度。您可以指定正整数或值 ALL。默认值为 500。(对于管理报表逻辑库 EVDMLA,初始值为 ALL。)
提示
表头行也进行计数。例如,要扫描一行数据,则应将行数指定为 2
自动加载使用下面的属性(该属性不是自动加载专有的属性):
VA.AutoLoad.AutoStart
指定是否按需启动关联的 SAS LASR Analytic Server,以处理针对该逻辑库的加载请求。对于新的逻辑库,初始值为 No
注: 除特别指定外,所支持的值为 NoYes
注: 更改将在下次运行自动加载时生效。有关已加载的表如何受影响的信息,请参见自动加载的工作原理
要设置逻辑库级别的扩展属性,请访问 SAS Management Console 或 SAS Environment Manager 中的 LASR 逻辑库的元数据定义。

带分隔符的文件和电子表格的处理

通常,自动加载功能处理带分隔符的文件和电子表格的方式与在自助导入期间处理这些文件的方式相同。有关受支持文件类型、要求、缺失值和有效名称的信息,请参见 SAS Visual Analytics: 用户指南
以下详细信息特定于自动加载:
  • 针对交互式导入操作的文件大小限制不适用于自动加载。
  • 您不能自动加载 ZIP 文件。
  • 自动加载始终从第一行读取列名,从第二行开始导入数据。
  • 自动加载包含多个工作表的电子表格时,仅加载第一个工作表。
  • 对于追加操作,两个文件中的列数据类型和长度必须匹配。
  • 仅 Windows 支持自动加载 XLSB 和 XLSM 文件。需要 64 位版的 Microsoft Access Database Engine(以前称为 Microsoft Office Access Connectivity Engine,简称 ACE)。
  • 要自动加载使用分隔符(除逗点或制表符以外)的文件,请使用 TXT 文件扩展名,并在 VA.AutoLoad.Import.Delimiter.TXT 扩展属性中指定分隔符。
上一页|下一页|页首
上次更新时间: 2018年10月24日