灵活有效的数据仓库解决方案,第3部分:设计并实现仓库ETL过程
2010-05-14 15:00:27 来源:WEB开发网DB2 仓库外部触发器程序
外部触发器程序是调用 Data Warehouse Center 的仓库程序。外部触发器服务器脚本可以用于升级或降级 DB2 仓库步骤,以及启动或运行过程和步骤。在 ETL 开发和测试中,外部触发器程序对于批量升级和降级仓库过程和步骤特别有用。您还可以使用该脚本来管理 ETL 过程和步骤的执行次序。
外部触发器程序包含两个组件:外部触发器服务器(XTServer)和外部触发器客户机(XTClient)。XTServer 与仓库服务器安装在一起。XTClient 与仓库代理安装在一起,用于所有的代理类型。在从外部触发器程序触发一个步骤之前,必须在该步骤的 Properties 记事本的 Processing Options 页面上指定 Run on demand 选项。
下面是 Windows 平台上用于升级 ETL 步骤的外部触发器脚本实例:
请确保 db2XTrigger.jar 和 common.jar 位于类路径中:
CLASSPATH=%CLASSPATH%;%DB2PATH%toolsdb2XTrigger.jar;%DB2PATH%javacommon.jar
从命令窗口启动外部触发器服务器:"%DB2PATH%javajdkbinjava" db2_vw_xt.XTServer <port_number>
其中,<port_number> 是仓库服务器上外部触发器的服务端口号。默认端口号是 11004。
创建并运行客户端的脚本命令文件,该文件可能包含多行代码。例如(在执行该文件时,在一行中包含了所有的参数):"%DB2PATH%javajdkbinjava" db2_vw_xt.XTClient <server>
<port> <DWC_user> <password> <ETL_step> <command>
<wait_for_result>
其中:
<server> 是仓库服务器。
<port> 是仓库服务器上的外部触发器服务端口号。默认端口号是 11004。
<ETL_step> 是您试图升级的 ETL 步骤或过程的名称。
<DWC_user> 是 Data Warehouse Center 的用户 ID。
<command> 可以具有下列值之一:
populate/run a step
promote a step to test mode
promote a step to production mode
demote a step to test mode
demote a step to development mode
populate/run a process
verify that the Data Warehouse Center server is running
<wait_for_result> 是可选的。该参数表明外部触发器程序是否要返回步骤或过程的处理结果。请选择下列值之一:
1:等待步骤或过程完成。如果该步骤或过程成功完成了,则返回 0,或者如果该步骤或过程失败,则返回一个错误。
0 或空白:不等待步骤或过程完成。
数据提取
数据提取是捕获源数据的过程。有两种捕获数据的主要方法:
完全刷新
增量更新
完全刷新,顾名思义,只是对移入中间(staging)数据库的数据进行完全复制。该复制可能替换数据仓库中的内容,及时在新的时间点上添加完整的新副本,或者与目标数据进行比较,以便在目标中生成一条修改记录。增量更新的关注重点是只捕获源数据中修改的数据。
如何捕获数据修改与数据源本身是密切相关的;它实际上是逐个(case-by-case)实现的问题。DB2 Data Warehouse Center 支持许多数据捕获方法,其中包括直接用 SQL 选择来捕获所有数据或数据子集,用 FTP 来捕获源数据源中的数据,数据文件的直接导入或装入,以及数据复制。
提取大量数据
从仓库数据源提取大量数据是所有数据仓库项目中的一个重要问题。在 DB2 Warehouse Center 中,您可以采用许多方法:Select and Insert SQL 步骤或仓库负载实用程序。
更多精彩
赞助商链接