DataStage 初学者教程: IBM DataStage(ETL工具)培训
什么是 DataStage?
数据阶段 是一种 ETL 工具,用于从源提取、转换和加载数据到目标位置。这些数据的来源可能包括顺序文件、索引文件、关系数据库、外部数据源、档案、企业应用程序等。DataStage 用于通过提供高质量数据来促进业务分析,帮助获得商业智能。
DataStage ETL 工具在大型组织中用作不同系统之间的接口。它负责从源到目标目的地提取、转换和加载数据。它最初由 VMark 于 90 年代中期推出。 IBM 2005 年收购 DataStage,更名为 IBM WebSphere DataStage 及更高版本 IBM 信息圈。
目前市场上有各种版本的DataStage,包括企业版(PX)、服务器版、MVS版、DataStage for PeopleSoft等。最新版本是 IBM InfoSphere 数据阶段
IBM 信息服务器包括以下产品,
- IBM InfoSphere 数据阶段
- IBM InfoSphere QualityStage
- IBM InfoSphere 信息服务总监
- IBM InfoSphere 信息分析器
- IBM 信息服务器 FastTrack
- IBM InfoSphere 业务词汇表
DataStage 概述
Datastage 具有以下功能。
- 它可以集成来自最广泛的企业和外部数据源的数据
- 实施数据验证规则
- 它有助于处理和转换大量数据
- 它使用可扩展的并行处理方法
- 它可以处理复杂的转换并管理多个集成过程
- 利用与企业应用程序的直接连接作为源或目标
- 利用元数据进行分析和维护
- Opera以批量、实时或 Web 服务形式进行测试
在本 DataStage 教程的以下部分中,我们简要描述了以下方面 IBM InfoSphere DataStage:
- 数据转换
- 工作机会
- 并行处理
InfoSphere DataStage 和 QualityStage 可以访问企业应用程序和数据源中的数据,例如:
- 关系数据库
- 大型机数据库
- 商业和分析应用程序
- 企业资源计划 (ERP) 或客户关系管理 (CRM) 数据库
- 联机分析处理 (OLAP) 或绩效管理数据库
处理阶段类型
IBM infosphere 作业由相互链接的各个阶段组成。它描述了数据从数据源到数据目标的流动。通常,一个阶段至少有一个数据输入和/或一个数据输出。但是,某些阶段可以接受多个数据输入并输出到多个阶段。
在工作设计中,你可以使用以下各个阶段:
- 转型阶段
- 过滤级
- 聚合器阶段
- 删除重复项阶段
- 加入阶段
- Lookup 阶段
- 复制阶段
- 排序阶段
- 集装箱
DataStage 组件和 Archi质地
DataStage 有四个主要组件,即:
- 管理员: 它用于执行管理任务。包括设置 DataStage 用户、设置清除条件以及创建和移动项目。
- 经理: 这是 ETL DataStage 的 Repository 的主要界面。它用于存储和管理可重用的元数据。通过 DataStage 管理器,可以查看和编辑 Repository 的内容。
- 设计师: 用于创建 DataStage 应用程序或作业的设计接口。它指定数据源、所需的转换和数据目标。作业被编译以创建可执行文件,由 Director 调度并由 Server 运行
- 理事: 它用于验证、安排、执行和监控 DataStage 服务器作业和并行作业。
上图解释了如何 IBM Infosphere DataStage 与 IBM Information Server 平台。DataStage 分为两个部分, 共享组件和运行时 Archi质地.
共享 |
统一用户界面 |
|
共同服务 |
|
|
常见的并行处理 |
|
|
运行时 Archi质地 |
OSH 脚本 |
|
Datastage 工具的先决条件
对于 DataStage,您将需要以下设置。
- 信息圈
- DataStage Server 9.1.2 或更高版本
- Microsoft Visual Studio .NET 2010 快速版 C++
- Oracle 客户端(完整客户端,不是即时客户端)如果连接到 Oracle 数据库
- DB2 客户端(如果连接到 DB2 数据库)
现在,在本 DataStage 初学者教程系列中,我们将学习如何下载和安装 InfoSphere 信息服务器。
下载并安装 InfoSphere Information Server
要访问 DataStage,请下载并安装最新版本的 IBM InfoSphere Server。该服务器支持 AIX、Linux 和 Windows 操作系统。您可以根据需要选择。
要将数据从旧版本的信息空间迁移到新版本,请使用资产交换工具。
安装文件
为了安装和配置 Infosphere Datastage,您的设置中必须有以下文件。
对于 Windows,
- EtlDeploymentPackage-windows-oracle.pkg
- EtlDeploymentPackage-windows-db2.pkg
对于Linux,
- EtlDeploymentPackage-linux-db2.pkg
- EtlDeploymentPackage-linux-oracle.pkg
CDC 事务阶段作业中更改数据的流程
- 数据库的“InfoSphere CDC”服务监视并捕获来自源数据库的更改
- 根据复制定义“InfoSphere CDC”将变更数据传输到“InfoSphere CDC for InfoSphere DataStage”。
- “InfoSphere CDC for InfoSphere DataStage” 服务器通过 TCP/IP 会话将数据发送到“CDC Transaction stage”。“InfoSphere CDC for InfoSphere DataStage” 服务器还发送 COMMIT 消息(以及书签信息)以在捕获的日志中标记事务边界。
- 对于“InfoSphere CDC for InfoSphere DataStage”服务器发送的每条 COMMIT 消息,“CDC Transaction 阶段”都会创建结束波 (EOW) 标记。这些标记会通过所有输出链接发送到目标数据库连接器阶段。
- 当“目标数据库连接器阶段”在所有输入链接上接收到结束标记时,它会将书签信息写入书签表,然后将事务提交到目标数据库。
- “InfoSphere CDC for InfoSphere DataStage”服务器从“目标数据库”上的书签表请求书签信息。
- “InfoSphere CDC for InfoSphere DataStage”服务器接收Bookmark信息。
这些信息用于,
- 确定复制开始时读取更改的事务日志中的起点。
- 确定是否可以清理现有事务日志
设置 SQL 复制
在开始使用 Datastage 之前,您需要设置数据库。您将创建两个 DB2 数据库。
- 一个用作复制源,
- 一个作为目标。
您还将创建两个表(产品和库存),并用示例数据填充它们。然后,您可以测试以下集成: SQL 复制和数据阶段。
接下来,您将通过创建 控制表、订阅集、注册和订阅集成员。我们将在下一节中详细了解这一点。
这里我们将以零售销售项目为例作为我们的数据库,并创建两个表:库存和产品。这些表将通过这些集合将数据从源加载到目标。(控制表、订阅集、注册和订阅集成员.)
步骤1) 创建源数据库 销售.在这个数据库下,创建两个表 产品展示 和 库存.
步骤2) 运行以下命令创建 SALES 数据库。
db2 create database SALES
步骤3) 为 SALES 数据库启用存档日志记录。此外,使用以下命令备份数据库
db2 update db cfg for SALES using LOGARCHMETH3 LOGRETAIN db2 backup db SALES
步骤4) 在同一命令提示符下,切换到从下载的压缩文件中提取的 sqlrepl-datastage-tutorial 目录中的 setupDB 子目录。
步骤5) 使用以下命令创建 Inventory 表并通过运行以下命令将数据导入表中。
db2 从 inventory.ixf 导入 ixf 创建到 inventory
步骤6) 创建目标表。将目标数据库命名为 阶段数据库。
由于现在您已经创建了数据库源和目标,在本 DataStage 教程的下一步中,我们将了解如何复制它。
以下信息可能有助于 设置 ODBC 数据源.
创建 SQL 复制对象
下图显示了变更数据流如何从源数据库传递到目标数据库。您可以在表之间创建源到目标的映射,称为 订阅集成员 并将成员分组为 订阅.
InfoSphere CDC(变更数据捕获)中的复制单元称为订阅。
- 源中所做的更改被捕获到“捕获控制表”中,该表被发送到 CD 表,然后发送到目标表。而应用程序将拥有需要进行更改的行的详细信息。它还将 CD 表加入订阅集。
- 订阅包含映射详细信息,用于指定如何将源数据存储中的数据应用于目标数据存储。注意,CDC 现在称为 Infosphere 数据复制.
- 当执行订阅时,InfoSphere CDC 会捕获源数据库上的更改。InfoSphere CDC 将更改数据传递到目标数据库,并将同步点信息存储在目标数据库的书签表中。
- InfoSphere CDC 使用书签信息来监视 InfoSphere DataStage 作业的进度。
- 在发生故障的情况下,书签信息用作重新启动点。在我们的示例中,ASN.IBMSNAP_FEEDETL 表存储 DataStage 相关的同步点信息,用于跟踪 DataStage 进度。
在此部分 IBM DataStage 培训教程,您需要做以下事情,
- 创建 CAPTURE CONTROL 表和 APPLY CONTROL 表来存储复制选项
- 将 PRODUCT 和 INVENTORY 表注册为复制源
- 创建具有两个成员的订阅集
- 创建订阅集成员和目标CCD表
使用 ASNCLP 命令行程序设置 SQL 复制
步骤1) 在 sqlrepl-datastage-tutorial/setupSQLRep 目录中找到 crtCtlTablesCaptureServer.asnclp 脚本文件。
步骤2) 在文件中替换和 ” ”以及用于连接 SALES 数据库的用户 ID 和密码。
步骤3) 将目录更改为 sqlrepl-datastage-tutorial/setupSQLRep 目录并运行脚本。使用以下命令。该命令将连接到 SALES 数据库,生成用于创建 Capture 控制表的 SQL 脚本。
asnclp –f crtCtlTablesCaptureServer.asnclp
步骤4) 在同一目录中找到 crtCtlTablesApplyCtlServer.asnclp 脚本文件。现在替换两个实例和 ” ”以及用于连接STAGEDB数据库的用户ID和密码。
步骤5) 现在在同一个命令提示符下使用以下命令来创建应用控制表。
asnclp –f crtCtlTablesApplyCtlServer.asnclp
步骤6) 找到 crtRegistration.asnclp 脚本文件并替换所有实例更改为用于连接 SALES 数据库的用户 ID。此外,将“ ”为连接密码。
步骤7) 要注册源表,请使用以下脚本。作为创建注册的一部分,ASNCLP 程序将创建两个 CD 表。CDPRODUCT 和 CDINVENTORY。
asnclp –f crtRegistration.asnclp
CREATE REGISTRATION 命令使用以下选项:
- 差异刷新:仅当源表中的行发生变化时,它才提示Apply程序更新目标表
- 图像:此选项用于注册发生变化前源列的值,以及发生变化后源列的值。
步骤8) 要连接到目标数据库(STAGEDB),请使用以下步骤。
- 找到 crtTableSpaceApply.bat 文件,在文本编辑器中打开它
- 代替和使用用户 ID 和密码
- 在 DB2 命令窗口中,输入 crtTableSpaceApply.bat 并运行该文件。
- 此批处理文件在目标数据库(STAGEDB)上创建一个新的表空间
步骤9) 找到 crtSubscriptionSetAndAddMembers.asnclp 脚本文件并进行以下更改。
- 替换所有实例和使用用于连接到 SALES 数据库(源)的用户 ID 和密码。
- 替换所有实例和使用用户ID连接到STAGEDB数据库(目标)。
更改后,运行脚本以创建订阅集 (ST00),该订阅集将源表和目标表分组。该脚本还会在目标数据库中创建两个订阅集成员和 CCD(一致更改数据),用于存储修改后的数据。这些数据将由 Infosphere DataStage 使用。
步骤10) 运行脚本来创建订阅集、订阅集成员和 CCD 表。
asnclp –f crtSubscriptionSetAndAddMembers.asnclp
用于创建订阅集和两个成员的各种选项包括
- 完成凝结
- 外部
- 加载类型导入导出
- 计时连续
步骤11) 由于复制管理工具存在缺陷。您必须执行另一个批处理文件来设置 IBMSNAP_SUBS_SET 控制表为空。
- 找到 updateTgtCapSchema.bat 文件。在文本编辑器中打开它。替换和使用用于连接到STAGEDB数据库的用户ID。
- 在DB2命令窗口中,输入命令updateTgtCapSchema.bat并执行该文件。
创建定义文件以将 CCD 表映射到 DataStage
在下一步进行复制之前,我们需要将 CCD 表与 DataStage 连接起来。在本节中,我们将了解如何将 SQL 与 DataStage 连接起来。
要将 CCD 表与 DataStage 连接,您需要创建 Datastage 定义 (.dxs) 文件。DataStage 使用 .dsx 文件格式来导入和导出作业定义。您将使用 ASNCLP 脚本创建两个 .dsx 文件。例如,这里我们创建了两个 .dsx 文件。
- stagedb_AQ00_SET00_sJobs.dsx:创建一个作业序列,指导四个并行作业的工作流程。
- stagedb_AQ00_SET00_pJobs.dsx :创建四个并行作业
ASNCLP 程序自动将 CCD 列映射到 Datastage 列格式。只有当 ASNCLP 运行在 Windows、Linux 或 Unix 程序。
Datastage 作业从 CCD 表中提取行。
- 一个作业设置 DataStage 从两个表中提取数据时停止的同步点。该作业通过从 IBMSNAP_SUBS_SET 表并将其插入到 IBMSNAP_FEEDETL 表。
- 两个作业从 PRODUCT_CCD 和 INVENTORY_CCD 表中提取数据。这些作业通过从中选择 MIN_SYNCHPOINT 和 MAX_SYNCHPOINT 值来了解要开始提取哪些行 IBMSNAP_FEEDETL 表用于订阅集。
开始复制
要开始复制,您将使用以下步骤。当 CCD 表中填充了数据时,表明复制设置已验证。要查看目标 CCD 表中的复制数据,请使用 DB2 控制中心图形用户界面。
步骤1) 确保 DB2 正在运行,如果没有,则使用 db2 启动 命令。
步骤2) 然后从操作系统提示符下使用 asncap 命令启动捕获程序。例如。
asncap capture_server=SALES
上述命令指定 SALES 数据库作为捕获服务器。在捕获运行时保持命令窗口打开。
步骤3) 现在打开一个新的命令提示符。然后启动 申请入学 使用 asnapply 命令来编程。
asnapply control_server=STAGEDB apply_qual=AQ00
- 该命令指定STAGEDB数据库作为Apply控制服务器(包含Apply控制表的数据库)
- AQ00 作为应用限定符(此组控制表的标识符)
保持命令窗口打开并且“应用”正在运行。
步骤4) 现在打开另一个命令提示符并发出 db2cc 命令来启动 DB2 控制中心。接受默认的控制中心。
步骤5) 现在在左侧导航树中,打开所有数据库>STAGEDB,然后单击表。 Double 点击表格名称(产品 CCD)打开表格。它看起来像这样。
同样,您也可以打开 INVENTORY 的 CCD 表。
如何在 Datastage 工具中创建项目
首先,您将在 DataStage 中创建一个项目。为此,您必须是 InfoSphere DataStage 管理员。
安装和复制完成后,您需要创建一个项目。在 DataStage 中,项目是一种组织数据的方法。它包括在特定项目中定义数据文件、阶段和构建作业。
要在 DataStage 中创建项目,请按照以下步骤操作:
步骤1)启动DataStage软件
启动 DataStage 和 QualityStage Administrator。然后单击开始 > 所有程序 > IBM 信息服务器 > IBM WebSphere DataStage 和 QualityStage 管理员。
步骤2)连接DataStage服务器和客户端
要从 DataStage 客户端连接到 DataStage 服务器,请输入域名、用户 ID、密码和服务器信息等详细信息。
步骤 3)添加新项目
在 WebSphere DataStage Administration 窗口中,单击 Projects 选项卡,然后单击 Add。
步骤4)输入项目详细信息
在 WebSphere DataStage 管理窗口中,输入以下详细信息:
- 姓名
- 文件位置
- 点击“确定”
每个项目包含:
- DataStage 作业
- 内置组件。这些是作业中使用的预定义组件。
- 用户定义组件。这些是使用 DataStage Manager 或 DataStage Designer 创建的自定义组件。
我们将了解如何在 Datastage Infosphere 中导入复制作业。
如何在 Datastage 和 QualityStage Designer 中导入复制作业
您将导入作业 IBM InfoSphere DataStage 和 QualityStage Designer 客户端。然后您可以在 IBM InfoSphere DataStage 和 QualityStage Director 客户端。
设计器客户端就像是构建作业的空白画布。它提取、转换、加载和检查数据质量。它提供构成作业基本构建块的工具。它包括
- 实习:它连接数据源来读取或写入文件并处理数据。
- 链接:它连接数据流动的各个阶段
InfoSphere DataStage 和 QualityStage Designer 客户端中的阶段存储在 Designer 工具面板中。
InfoSphere QualityStage 中包含以下阶段:
- 调查阶段
- 标准化阶段
- 匹配频率阶段
- 单一来源匹配阶段
- 双源匹配阶段
- 生存阶段
- 标准化质量评估(SQA)阶段
您可以在 DataStage 信息圈中创建 4 种类型的作业。
- 并行作业
- 序列作业
- 大型机作业
- 服务器作业
让我们一步一步地了解如何导入复制作业文件。
步骤1) 启动 DataStage 和 QualityStage Designer。单击开始 > 所有程序 > IBM 信息服务器 > IBM WebSphere DataStage 和 QualityStage Designer
步骤2) 在附加到项目窗口中,输入以下详细信息。
- 域名
- 用户名
- 密码
- 项目名称
- OK
步骤3) 现在从文件菜单中单击导入 -> DataStage 组件。
将打开一个新的 DataStage 存储库导入窗口。
- 在此窗口浏览 STAGEDB_AQ00_ST00_sJobs.dsx 我们之前创建的文件
- 选择选项“全部导入”。
- 勾选“执行影响分析”复选框。
- 单击“确定”。
一旦导入作业,DataStage 将创建STAGEDB_AQ00_ST00_sequence 作业。
步骤4) 按照相同的步骤导入 STAGEDB_AQ00_ST00_pJobs.dsx 文件。此导入将创建四个并行作业。
步骤5) 在 Designer Repository 窗格下 -> 打开 SQLREP 文件夹。在文件夹中,您将看到序列作业和四个并行作业。
步骤6) 要查看序列作业。转到存储库树,右键单击 STAGEDB_AQ00_ST00_sequence 作业,然后单击编辑。它将显示作业序列控制的四个并行作业的工作流程。
每个图标都是一个舞台,
- getExtractRange 阶段:它更新 IBMSNAP_FEEDETL 表。它将数据提取的起点设置为 DataStage 最后提取行的位置,并将终点设置为针对订阅集处理的最后一个事务。
- 获取提取范围成功:此阶段将起点提供给 extractFromINVENTORY_CCD 阶段和 extractFromPRODUCT_CCD 阶段
- 全部提取成功: 此阶段确保 extractFromINVENTORY_CCD 和 extractFromPRODUCT_CCD 均成功完成。然后将获取的最后几行的同步点传递到 setRangeProcessed 阶段。
- setRangeProcessed 阶段:它更新 IBMSNAP_FEEDETL 表。因此,DataStage 知道从哪里开始下一轮数据提取
步骤7) 要查看并行作业。右键单击 STAGEDB_ASN_INVENTORY_CCD 并选择存储库下的编辑。它将打开如下所示的窗口。
在上图中,你可以看到来自库存 CCD 表的数据和 SyncFEEDETL 表中的 h 点详细信息被呈现到 Lookup_6 阶段。
创建从 DataStage 到 STAGEDB 数据库的数据连接
现在下一步是在 InfoSphere DataStage 和 SQL Replication 目标数据库之间建立数据连接。它包含 CCD 表。
在 DataStage 中,您可以使用数据连接对象和相关的连接器阶段来快速定义作业设计中与数据源的连接。
步骤1) STAGEDB 包含 DataStage 用于同步其数据提取的 Apply 控制表和从中提取数据的 CCD 表。使用以下命令
db2 catalog tcpip node SQLREP remote ip_address server 50000 db2 catalog database STAGEDB as STAGEDB2 at node SQLREP
备注:创建STAGEDB的系统的IP地址
步骤2) 单击文件 > 新建 > 其他 > 数据连接。
步骤3) 您将看到一个带有两个选项卡的窗口:“参数”和“常规”。
步骤4) 在此步骤中,
- 一般情况下,选项卡中将数据连接命名为 sqlreplConnect
- 在参数选项卡中,如下所示
- 单击“使用阶段类型字段连接”旁边的浏览按钮,然后在
- 打开窗口导航存储库树到阶段类型 –> 并行– > 数据库 —-> DB2 连接器。
- 单击打开。
步骤5) 在连接参数表中,输入以下详细信息
- 的ConnectionString: STAGEDB2
- 用户名:连接STAGEDB数据库的用户ID
- 密码:连接STAGEDB数据库的密码
- 例:包含 STAGEDB 数据库的 DB2 实例的名称
步骤6) 在下一个窗口中保存数据连接。单击“保存”按钮。
将表定义从STAGEDB导入DataStage
在上一步中,我们看到 InfoSphere DataStage 和 STAGEDB 数据库已连接。现在,将 PRODUCT_CCD 和 INVENTORY_CCD 表的列定义和其他元数据导入到 Information Server 存储库中。
在设计器窗口中,按照以下步骤操作。
步骤1) 选择导入 > 表定义 > 启动连接器导入向导
步骤2) 从向导的连接器选择页面中,选择 DB2 连接器并单击下一步。
步骤3) 单击连接详细信息页面上的加载。这将使用您在上一章中创建的数据连接的连接信息填充向导字段。
步骤4) 在同一页面上单击测试连接。这将提示 DataStage 尝试连接到 STAGEDB 数据库。您可以看到“连接成功”的消息。单击下一步。
步骤5) 确保数据源位置页面上的主机名和数据库名称字段已正确填充。然后单击下一步。
步骤6) 在 Schema 页面上。输入应用控制表 (ASN) 的架构或检查 ASN 架构是否已预先填充到架构字段中。然后单击下一步。选择页面将显示在 ASN 架构中定义的表的列表。
步骤7) 我们需要导入元数据的第一个表是 IBMSNAP_FEEDETL,一个 Apply 控制表。它包含有关同步点的详细信息,允许 DataStage 跟踪它从 CCD 表中获取了哪些行。选择 IBMSNAP_FEEDETL 并单击下一步。
步骤8) 要完成导入 IBMSNAP_FEEDETL 表定义。单击导入,然后在打开的窗口中单击打开。
步骤9) 重复步骤 1-8 两次,以导入 PRODUCT_CCD 表和 INVENTORY_CCD 表的定义。
注意:导入库存和产品的定义时,请确保将模式从 ASN 更改为创建 PRODUCT_CCD 和 INVENTORY_CCD 的模式。
现在 DataStage 拥有连接到 SQL 复制目标数据库所需的所有详细信息。
设置 DataStage 作业的属性
对于我们拥有的四个 DataStage 并行作业中的每一个,它都包含一个或多个与 STAGEDB 数据库连接的阶段。您需要修改阶段以添加连接信息并链接到 DataStage 填充的数据集文件。
阶段具有可编辑的预定义属性。在这里,我们将为 STAGEDB_ASN_PRODUCT_CCD_extract 并行作业更改其中一些属性。
步骤1) 浏览 Designer 存储库树。在 SQLREP 文件夹下,选择 STAGEDB_ASN_PRODUCT_CCD_extract 并行作业。要编辑,请右键单击该作业。并行作业的设计窗口将在 Designer Palette 中打开。
步骤2) 找到绿色图标。此图标表示 DB2 连接器阶段。它用于从 CCD 表中提取数据。 Double-单击该图标。将打开阶段编辑器窗口。
步骤3) 在编辑器中单击“加载”以使用连接信息填充字段。要关闭阶段编辑器并保存更改,请单击“确定”。
步骤4) 现在返回 STAGEDB_ASN_PRODUCT_CCD_extract 并行作业的设计窗口。找到获取的图标SynchPoints DB2 连接器阶段。然后双击该图标。
步骤5) 现在单击加载按钮以用连接信息填充字段。
注意:如果您使用 STAGEDB 以外的数据库作为 Apply 控制服务器。然后选择加载获取的连接信息的选项SynchPoints 阶段,与控制表而不是 CCD 表交互。
步骤6) 在此步骤中,
- 在运行 InfoSphere DataStage 的系统上创建一个空文本文件。
- 将此文件命名为 productdataset.ds 并记下您的保存位置。
- DataStage 从 CCD 表获取更改后,将会把更改写入此文件。
- 用于在链接作业之间移动数据的数据集或文件称为持久数据集。它由 DataSet 阶段表示。
步骤7) 现在在设计窗口中打开阶段编辑器,然后双击图标 insert_into_a_dataset。它将打开另一个窗口。
步骤8) 在这个窗口中,
- 在属性选项卡下确保 Target 文件夹已打开,并且文件 = DATASETNAME 属性被突出显示。
- 在右侧,您将看到一个文件字段
- 输入 productdataset.ds 文件的完整路径
- 点击“确定”。
现在您已更新产品 CCD 表的所有必要属性。关闭设计窗口并保存所有更改。
步骤9) 现在从设计器的存储库窗格中找到并打开STAGEDB_ASN_INVENTORY_CCD_extract 并行作业,然后重复步骤 3-8。
注意:
- 您必须将控制服务器数据库的连接信息加载到阶段编辑器中才能获取SynchPoints 阶段。如果你的控制服务器不是STAGEDB。
- 对于STAGEDB_ST00_AQ00_getExtractRange和STAGEDB_ST00_AQ00_markRangeProcessed并行作业,打开所有DB2连接器阶段。然后使用加载函数添加STAGEDB数据库的连接信息
编译并运行 DataStage 作业
当 DataStage 作业准备好编译时,设计器会通过查看输入、转换、表达式和其他细节来验证作业的设计。
当作业编译成功完成后,它就可以运行了。我们将编译所有五个作业,但只运行“作业序列”。这是因为该作业控制所有四个并行作业。
步骤1) 在 SQLREP 文件夹下。通过 (Cntrl+Shift)。然后右键单击并选择多作业编译选项。
步骤2) 您将看到 DataStage Compilation Wizard 中选择了五个作业。单击 Next。
步骤3) 编译开始并完成后显示消息“编译成功”。
步骤4) 现在启动 DataStage 和 QualityStage Director。选择开始 > 所有程序 > IBM 信息服务器 > IBM WebSphere DataStage 和 QualityStage Director。
步骤5) 在左侧的项目导航窗格中。单击 SQLREP 文件夹。这会将所有五个作业放入主管状态表中。
步骤6) 选择STAGEDB_AQ00_S00_sequence作业。从菜单栏中单击作业>立即运行。
一旦编译完成,您将看到完成状态。
现在检查 PRODUCT_CCD 和 INVENTORY_CCD 表中存储的更改的行是否已被 DataStage 提取并插入到两个数据集文件中。
步骤7) 返回设计器并打开STAGEDB_ASN_PRODUCT_CCD_extract作业。要打开阶段编辑器 Double-单击 insert_into_a_dataset 图标。然后单击查看数据。
步骤8) 接受要显示行窗口中的默认值。然后单击“确定”。将打开一个数据浏览器窗口以显示数据集文件的内容。
测试 SQL 复制和 DataStage 之间的集成
在上一步中,我们编译并执行了该作业。在本节中,我们将检查 SQL 复制和 DataStage 的集成。为此,我们将对源表进行更改,并查看相同的更改是否更新到 DataStage 中。
步骤1) 导航到适合您操作系统的 sqlrepl-datastage-scripts 文件夹。
步骤2) 按以下步骤启动 SQL 复制:
- 运行 startSQLCapture.bat (Windows) 文件来启动 SALES 数据库中的 Capture 程序。
- 运行 startSQLApply.bat (Windows)文件在STAGEDB数据库中启动Apply程序。
步骤3) 现在打开 updateSourceTables.sql 文件。要连接到 SALES 数据库,请替换和使用用户 ID 和密码。
步骤4) 打开 DB2 命令窗口。将目录更改为 sqlrepl-datastage-tutorial\scripts,然后通过给定的命令运行问题:
db2 -tvf updateSourceTables.sql
SQL 脚本将对销售数据库中的两个表(PRODUCT、INVENTORY)执行各种操作,例如更新、插入和删除。
步骤5) 在运行 DataStage 的系统上。打开 DataStage Director 并执行 STAGEDB_AQ00_S00_sequence 作业。单击作业 > 立即运行。
当您运行该作业时,将会执行以下活动。
- Capture 程序读取 SALES 数据库日志中的六行更改并将其插入到 CD 表中。
- Apply 程序从 SALES 的 CD 表中提取更改行并将其插入到 STAGEDB 的 CCD 表中。
- 两个 DataStage 提取作业从 CCD 表中提取更改并将其写入 productdataset.ds 和 inventory dataset.ds 文件。
您可以通过查看数据集来检查上述步骤是否发生。
步骤6) 按照以下步骤,
- 启动设计器。打开STAGEDB_ASN_PRODUCT_CCD_extract 作业。
- 然后 Double-单击 insert_into_a_dataset 图标。在阶段编辑器中。单击查看数据。
- 接受要显示行窗口中的默认设置,然后单击“确定”。
数据集包含三行新数据。检查更改是否已实施的最简单方法是向下滚动数据浏览器的最右侧。现在查看最后三行(见下图)
字母 I、U 和 D 分别指定产生每个新行的 INSERT、UPDATE 和 DELETE 操作。
您可以对库存表进行相同的检查。
总结
- Datastage 是一个 ETL工具 它从源提取数据、转换数据并将数据加载到目标。
- 它有利于 商业分析 通过提供高质量的数据来帮助获取商业智能。
- DataStage 分为两个部分, 共享组件和运行时 Archi质地.
- DataStage 有四个主要组件,
- 管理员
- 经理
- 设计师
- 副总经理
- 以下是 IBM InfoSphere 数据阶段
- 数据转换
- 工作机会
- 并行处理
- 在工作设计中涉及的各个阶段
- 转型阶段
- 过滤级
- 聚合器阶段
- 删除重复项阶段
- 加入阶段
- Lookup 阶段