ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南

DataStage是什么?

Datastage是一个ETL工具,它可以从源文件中提取数据、转换数据并将数据加载到目标文件中。数据源可能包括顺序文件、索引文件、关系数据库、外部数据源、存档、企业应用程序等。DataStage通过提供高质量的数据来帮助获取业务智能,从而简化了业务分析。

Datastage在大型组织中用作不同系统之间的接口。它负责从源到目标目的地的数据的提取、转换和加载。它首次由VMark在90年代中期推出。随着IBM在2005年收购DataStage,它被重命名为IBM WebSphere ,后来又被重命名为IBM InfoSphere。

目前市场上的Datastage版本有企业版(PX)、服务器版、MVS版、Datastage for PeopleSoft 等。最新版本是IBM InfoSphere DataStage.

IBM Information server包括以下产品,

  • IBM InfoSphere DataStage
  • IBM InfoSphere QualityStage
  • IBM InfoSphere Information Services Director
  • IBM InfoSphere Information Analyzer
  • IBM Information Server FastTrack
  • IBM InfoSphere Business Glossary

目录

  • DataStage是什么?
  • DataStage概述
  • DataStage组件
  • Datastage工具的准备工作
  • 下载并安装InfoSphere Information Server
  • 在CDC事务阶段作业中处理更改数据流。
  • 设置SQL复制
  • 创建SQL复制对象
  • 创建定义文件来将CCD表映射到DataStage
  • 开始复制
  • 如何在Datastage工具中创建项目
  • 如何导入Datastage和QualityStage Designer中的复制作业
  • 创建从DataStage到STAGEDB数据库的数据连接
  • 将表定义从STAGEDB导入到DataStage
  • 为DataStage作业设置属性
  • 编译和运行DataStage作业
  • 测试SQL复制和DataStage之间的集成

DataStage概述

Datastage具有以下功能。

  • 它可以集成来自最广泛的企业数据源和外部数据源的数据
  • 实现数据验证规则
  • 它在处理和转换大量数据时非常有用
  • 它使用可伸缩的并行处理方法
  • 它可以处理复杂的转换并管理多个集成过程
  • 利用与企业应用程序的直接连接作为源或目标
  • 利用元数据进行分析和维护
  • 以批处理、实时或Web服务的形式运行

在下面的小节中,我们将简要描述IBM InfoSphere DataStage的以下方面:

  • 数据转换
  • 工作
  • 并行处理

InfoSphere DataStage和QualityStage可以访问企业应用程序和数据源中的数据,例如:

  • 关系数据库
  • 大型机数据库
  • 业务和分析应用程序
  • 企业资源规划(ERP)或客户关系管理(CRM)数据库
  • 联机分析处理(OLAP)或性能管理数据库

处理阶段类型

IBM infosphere job由连接在一起的各个阶段组成。它描述了从数据源到数据目标的数据流。通常,一个阶段至少有一个数据输入和/或一个数据输出。但是,有些阶段可以接受多个数据输入和输出到多个阶段。

在工作设计中,你可以使用的不同阶段是:

  • 转换阶段
  • 过滤阶段
  • 聚合器阶段
  • 删除重复的阶段
  • 加入阶段
  • 查找工作台
  • 复制阶段
  • 排序阶段
  • 容器

DataStage组件和体系结构

DataStage有四个主要组件,

  1. 超级管理员:用于管理任务。这包括设置DataStage用户、设置清除标准以及创建和移动项目。
  2. 管理员:它是DataStage存储库的主界面。它用于存储和管理可重用元数据。通过DataStage manager,可以查看和编辑存储库的内容。
  3. 设计器:用于创建DataStage应用程序或作业的设计接口。它指定数据的数据源、所需的转换和目标。作业被编译来创建由主管调度并由服务器运行的可执行文件
  4. 监听器:它用于验证、调度、执行和监视DataStage服务器作业和并行作业。
《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

Datastage架构图

上面的图像解释了IBM Infosphere DataStage如何与IBM Information Server平台的其他元素交互。DataStage分为两个部分,共享组件和运行时架构。

活动
共享组件 统一的用户界面
  • 图形设计接口用于创建InfoSphere DataStage应用程序(称为作业)。
  • 每个作业确定数据源、所需的转换和数据的目的地。
  • 作业被编译以创建并行作业流和可重用组件。它们由InfoSphere DataStage和QualityStage Director调度和运行。
  • 设计器客户机管理存储库中的元数据。编译后的执行数据部署在Information Server Engine层。
公共服务
  • 元数据服务,如影响分析和搜索
  • 设计支持开发和维护InfoSphere DataStage任务的服务
  • 支持所有InfoSphere DataStage功能的执行服务
常见的并行处理
  • 该引擎运行可执行的作业,这些作业在各种设置中提取、转换和加载数据。
  • 引擎选择并行处理和流水线的方式来处理大量的工作。
运行时架构 OSH脚本
  • 这描述了使用Information Server引擎生成OSH(编排Shell脚本)和IBM的执行流以及IBM Infosphere DataStage的流
  • 它使您能够使用图形化的点按技术来开发作业流,以便提取、清理、转换、集成和将数据加载到目标文件中。

Datastage工具的准备工作

对于DataStage,您将需要以下设置。

  • Infosphere
  • DataStage服务器9.1.2或以上
  • Microsoft Visual Studio .NET 2010 Express Edition c++
  • 如果连接到Oracle数据库,Oracle客户机(完整客户机,而不是即时客户机)
  • 连接到DB2数据库的DB2客户机

下载并安装InfoSphere Information Server

要访问DataStage,请下载并安装最新版本的IBM InfoSphere Server。该服务器支持AIX、Linux和Windows操作系统。您可以根据需要来选择。

要将数据从旧版本的infosphere迁移到新版本,可以使用资产交换工具。

安装文件

要安装和配置Infosphere Datastage,您的设置中必须包含以下文件。

对于Windows,

EtlDeploymentPackage-windows-oracle.pkg

EtlDeploymentPackage-windows-db2.pkg

对于Linux,

EtlDeploymentPackage-linux-db2.pkg

EtlDeploymentPackage-linux-oracle.pkg

在CDC事务阶段作业中处理更改数据流

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

  1. 用于数据库的“InfoSphere CDC”服务监视并捕获来自源数据库的更改
  2. 根据复制定义“InfoSphere CDC”将更改数据传输到“InfoSphere CDC用于InfoSphere DataStage”。
  3. “用于InfoSphere DataStage的InfoSphere CDC”服务器通过TCP/IP会话将数据发送到“CDC事务阶段”。“InfoSphere CDC for InfoSphere DataStage”服务器还发送一条提交消息(以及书签信息)来标记捕获日志中的事务边界。
  4. 对于“InfoSphere CDC For InfoSphere DataStage”服务器发送的每个提交消息,“CDC事务阶段”将创建end-of-wave (EOW)标记。这些标记被发送到目标数据库连接器阶段的所有输出链接上。
  5. 当“目标数据库连接器阶段”接收到所有输入链接上的结束标记时,它将书签信息写入书签表,然后将事务提交给目标数据库。
  6. “InfoSphere CDC for InfoSphere DataStage”服务器从“目标数据库”上的书签表请求书签信息。
  7. “用于InfoSphere DataStage的InfoSphere CDC”服务器接收书签信息。

这些信息是用来,

  • 确定事务日志中的起始点,在复制开始时读取更改。
  • 确定是否可以清理现有事务日志

设置SQL复制

在开始使用Datastage之前,需要设置数据库。您将创建两个DB2数据库。

  • 一个用作复制源
  • 一个作为目标

您还将创建两个表(Product和Inventory),并用示例数据填充它们。然后可以测试SQL复制和Datastage之间的集成。

接下来,您将通过创建控制表、订阅集、注册和订阅集成员来设置SQL复制。我们将在下一节中详细了解这方面的更多信息。

在这里,我们将以Retail sales item为例作为数据库,并创建两个表Inventory和Product。这些表将通过这些集合将数据从源加载到目标。(控制表、订阅集、注册和订阅集成员。)

Step 1)创建一个称为SALES的源数据库。在此数据库下,创建两个表product和Inventory。

Step 2)运行以下命令创建SALES数据库。

db2 create database SALES

Step 3)打开SALES数据库的归档日志记录。另外,使用以下命令备份数据库

db2 update db cfg for SALES using LOGARCHMETH3 LOGRETAIN
db2 backup db SALES

Step 4)在同一个命令提示符中,切换到从下载的压缩文件中提取的sqlrep -datastage-tutorial目录中的setupDB子目录。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

Step 5)使用以下命令创建Inventory表,并通过运行以下命令将数据导入表中。

db2从库存导入。ixf的ixf创建成库存

Step 6)创建目标表。将目标数据库命名为STAGEDB。

既然已经创建了源数据库和目标数据库,下一步我们将看到如何复制它。

创建SQL复制对象

下图显示了更改数据流如何从源数据库传递到目标数据库。在称为订阅集成员的表之间创建源到目标的映射,并将成员分组到订阅中。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

InfoSphere CDC中的复制单元(更改数据捕获)称为订阅。

  • 源文件中所做的更改将在“捕获控制表”中捕获,该控制表将发送到CD表,然后发送到目标表。而应用程序将有关于需要在何处进行更改的行的详细信息。它还将加入CD表的订阅集。
  • 订阅包含映射细节,指定如何将源数据存储中的数据应用于目标数据存储。注意,CDC现在称为Infosphere data replication。
  • 当执行订阅时,InfoSphere CDC将捕获源数据库上的更改。InfoSphere CDC将更改数据交付给目标,并将同步点信息存储在目标数据库中的bookmark表中。
  • InfoSphere CDC使用书签信息来监视InfoSphere DataStage作业的进度。
  • 在失败的情况下,书签信息用作重启点。在我们的例子中,ASN。IBMSNAP_FEEDETL表存储用于跟踪DataStage进度的与DataStage相关的同步点信息。

在这一节中,你必须做以下事情,

  • 创建捕获控制表并应用控制表来存储复制选项
  • 将PRODUCT和INVENTORY表注册为复制源
  • 创建包含两个成员的订阅集
  • 创建订阅集成员和目标CCD表

使用ASNCLP命令行程序设置SQL复制

步骤1)找到crtCtlTablesCaptureServer。asnclp脚本文件位于sqlreply -datastage-tutorial/setupSQLRep目录中。

步骤2)在文件中使用用户ID和密码替换<db2- connection -ID>和”<password>”,以便连接到SALES数据库。

步骤3)将目录更改为sqlreply -datastage-tutorial/setupSQLRep目录并运行脚本。使用以下命令。该命令将连接到SALES数据库,生成用于创建捕获控制表的SQL脚本。

asnclp –f crtCtlTablesCaptureServer.asnclp

步骤4)找到crtCtlTablesApplyCtlServer。在同一目录中的asnclp脚本文件。现在用连接到stage edb数据库的用户ID和密码替换两个<db2- connection -ID>和”<password>”实例。

步骤5)现在在同一个命令提示符中,使用下面的命令创建apply control表。

asnclp –f crtRegistration.asnclp

步骤6)找到注册。asnclp脚本文件,并使用连接到SALES数据库的用户ID替换<db2-connect-ID>的所有实例。另外,将“<password>”更改为连接密码。

步骤7)要注册源表,请使用以下脚本。作为创建注册的一部分,ASNCLP程序将创建两个CD表。CDPRODUCT CDINVENTORY。

asnclp –f crtRegistration.asnclp

CREATE REGISTRATION命令使用以下选项:

  • Differential Refresh:只有当源表中的行发生更改时,才提示应用程序更新目标表
  • Image both:此选项用于在发生更改之前在source列中注册值,在发生更改之后注册值。

步骤8)要连接到目标数据库(stage edb),请使用以下步骤。

  • 找到crtTableSpaceApply.bat文件,在文本编辑器中打开它
  • 用用户ID和密码替换<stagedb- connection -ID>和<stagedb-password>
  • 在DB2命令窗口中,输入crttablespaceapp .bat并运行该文件。
  • 这个批处理文件在目标数据库上创建一个新的表空间(stage edb)

步骤9)找到crtSubscriptionSetAndAddMembers。asnclp脚本文件,并执行以下更改。

  • 用连接到SALES数据库(源)的用户ID和密码替换< SALES -connect-ID>和< SALES -password>的所有实例。
  • 使用连接到STAGEDB数据库(目标)的用户ID替换< STAGEDB – connection -ID>和< STAGEDB -password>的所有实例。

更改之后,运行脚本来创建订阅集(ST00),该订阅集对源表和目标表进行分组。该脚本还在目标数据库中创建了两个订阅集成员和CCD(一致的更改数据),后者将存储修改后的数据。这些数据将由Infosphere DataStage使用。

步骤10)运行脚本创建订阅集、订阅集成员和CCD表。

asnclp –f crtSubscriptionSetAndAddMembers.asnclp

用于创建订阅集和两个成员的各种选项包括

  • 全开压缩
  • 外部
  • 加载类型
  • 时间连续

步骤11)由于复制管理工具中的缺陷。必须执行另一个批处理文件,才能将IBMSNAP_SUBS_SET控制表中的TARGET_CAPTURE_SCHEMA列设置为null。

  • 找到updateTgtCapSchema.bat文件。在文本编辑器中打开它。用连接到STAGEDB数据库的用户ID替换< STAGEDB – connection -ID>和< STAGEDB -password>。
  • 在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过程上时才支持它。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

Datastage作业从CCD表中提取行。

  1. 一个作业设置了一个同步点,DataStage在从两个表中提取数据时停止了该同步点。作业通过从IBMSNAP_SUBS_SET表中选择ST00订阅集的SYNCHPOINT值,并将其插入IBMSNAP_FEEDETL表的MAX_SYNCHPOINT列中,从而获得此信息。
  2. 从PRODUCT_CCD和INVENTORY_CCD表中提取数据的两个作业。通过从IBMSNAP_FEEDETL表中为订阅集选择MIN_SYNCHPOINT和MAX_SYNCHPOINT值,作业知道要开始提取哪些行。

开始复制

要启动复制,您将使用以下步骤。当CCD表中填充数据时,它表明复制设置已经过验证。要查看目标CCD表中的复制数据,请使用DB2 Control Center图形用户界面。

步骤1)确保DB2正在运行,如果没有,则使用DB2 start命令。

步骤2)然后从操作系统提示符中使用asncap命令开始捕获程序。为例。

asncap capture_server=SALES

上面的命令将SALES数据库指定为捕获服务器。在捕获运行时保持命令窗口打开。

步骤3)现在打开一个新的命令提示符。然后使用asnapply命令启动应用程序。

asnapply control_server=STAGEDB apply_qual=AQ00

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

  • 该命令将STAGEDB数据库指定为应用控制服务器(包含应用控制表的数据库)
  • AQ00作为应用限定符(这组控制表的标识符)

打开命令窗口,应用程序正在运行。

步骤4)现在打开另一个命令提示符,并发出db2cc命令来启动DB2 Control Center。接受默认的控制中心。

步骤5)现在在左侧导航树中,打开所有数据库> STAGEDB,然后单击Tables。双击表名(Product CCD)打开表。它看起来像这样。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

同样,您也可以打开CCD表进行库存。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

如何在Datastage工具中创建项目

首先,您将在DataStage中创建一个项目。为此,您必须是InfoSphere DataStage管理员。

安装和复制完成后,您需要创建一个项目。在DataStage中,项目是组织数据的一种方法。它包括在特定的项目中定义数据文件、阶段和构建作业。

要在DataStage中创建项目,请执行以下步骤。

步骤1)启动DataStage和QualityStage管理员。然后单击Start > All programs > IBM Information Server > IBM WebSphere DataStage and QualityStage Administrator。

步骤2)要从DataStage客户机连接到DataStage服务器,请输入域名、用户ID、密码和服务器信息等详细信息

步骤3)在WebSphere DataStage管理窗口中。单击Projects选项卡,然后单击Add。

步骤4)在WebSphere DataStage管理窗口中,输入如下详细信息

  1. 命名
  2. 输入文件位置
  3. 单击“OK”

每个项目包含:

  • DataStage作业
  • 内置组件。这些是作业中使用的预定义组件。
  • 用户定义的组件。这些是使用DataStage Manager或DataStage Designer创建的定制组件。

如何导入Datastage和QualityStage Designer中的复制作业

您将导入IBM InfoSphere DataStage和QualityStage Designer客户机中的作业。然后在IBM InfoSphere DataStage和QualityStage Director客户机中执行它们。

设计器-客户机就像一个用于构建作业的空白画布。它提取、转换、加载和检查数据的质量。它提供了构成工作的基本构建块的工具。它包括

  • Stages:它连接到数据源来读写文件和处理数据。
  • Links:它连接数据流动的各个阶段

InfoSphere DataStage和QualityStage Designer客户机中的阶段存储在设计器工具面板中。

InfoSphere QualityStage包括以下阶段:

  • Investigate stage
  • Standardize stage
  • Match Frequency stage
  • One-source Match stage
  • Two-source Match stage
  • Survive stage
  • Standardization Quality Assessment (SQA) stage

您可以在DataStage infosphere中创建4种类型的作业。

  • Parallel Job
  • Sequence Job
  • Mainframe Job
  • Server Job

让我们逐步了解如何导入复制作业文件。

步骤1)启动DataStage和QualityStage Designer。单击启动>所有程序> IBM Information Server > IBM WebSphere DataStage和QualityStage Designer

步骤2)在“附加到项目”窗口中,输入以下详细信息。

  • Domain
  • User Name
  • Password
  • Project Name
  • OK

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤3)现在从File菜单中单击import -> DataStage Components。

将打开一个新的DataStage Repository Import窗口。

  1. In this window browse STAGEDB_AQ00_ST00_sJobs.dsx file that we had created earlier
  2. Select option “Import all.”
  3. Mark checkbox “Perform Impact Analysis.”
  4. Click ‘OK.’

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

导入作业之后,DataStage将创建STAGEDB_AQ00_ST00_sequence作业。

步骤4)按照相同的步骤导入STAGEDB_AQ00_ST00_pJobs。dsx文件。这个导入创建了四个并行作业。

步骤5)在Designer Repository窗格->下打开SQLREP文件夹。在该文件夹中,您将看到顺序作业和四个并行作业。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤6)查看序列作业。转到repository tree,右键单击STAGEDB_AQ00_ST00_sequence作业,然后单击Edit。它将显示作业序列控制的四个并行作业的工作流。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

每个图标都是一个工作台,

  • getExtractRange stage:它更新IBMSNAP_FEEDETL表。它将把数据提取的起始点设置为DataStage最后提取行的位置,并将结束点设置为为订阅集处理的最后一个事务。
  • getExtractRangeSuccess:这个阶段将起点提供给extractFromINVENTORY_CCD阶段和extractFromPRODUCT_CCD阶段
  • AllExtractsSuccess:此阶段确保从minventory_ccd提取和从product_ccd提取都成功完成。然后传递最后一行的同步点,这些同步点被获取到setrangeprocessing阶段。
  • setrangestage:它更新IBMSNAP_FEEDETL表。因此,DataStage知道从何处开始下一轮数据提取

步骤7)查看并行作业。右键单击STAGEDB_ASN_INVENTORY_CCD并在repository下选择edit。它将打开如下所示的窗口。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

在上图中,您可以看到Inventory CCD表中的数据和来自FEEDETL表的同步点细节被呈现到Lookup_6阶段。

创建从DataStage到STAGEDB数据库的数据连接

现在,下一步是在InfoSphere DataStage和SQL复制目标数据库之间建立数据连接。它包含CCD表。

在DataStage中,使用具有相关连接器阶段的数据连接对象,可以在作业设计中快速定义到数据源的连接。

步骤1)stage edb包含DataStage用于同步数据提取的应用控制表和从中提取数据的CCD表。使用以下命令

db2 catalog tcpip node SQLREP remote ip_address server 50000
db2 catalog database STAGEDB as STAGEDB2 at node SQLREP

注意:创建STAGEDB的系统的IP地址

步骤2)点击文件>新建>其他>数据连接。

步骤3)您将拥有一个包含两个选项卡、参数和General的窗口。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤4)在这个步骤中,

  1. 通常,选项卡将数据连接命名为sqlreplConnect
  2. 在Parameters选项卡中,如下所示
  • Click the browse button next to the ‘Connect using Stage Type field’, and in the
  • Open window navigate the repository tree to Stage Types –> Parallel– > Database —-> DB2 Connector.
  • Click Open.

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤5)在Connection parameters表中,输入如下详细信息

  • ConnectionString: STAGEDB2
  • Username: User ID for connecting to STAGEDB database
  • Password: Password for connecting to STAGEDB database
  • Instance: Name of DB2 instance that contains STAGEDB database

步骤6)在下一个窗口中保存数据连接。点击“保存”按钮。

将表定义从STAGEDB导入到DataStage

在前面的步骤中,我们看到InfoSphere DataStage和STAGEDB数据库是连接的。现在,将PRODUCT_CCD和INVENTORY_CCD表的列定义和其他元数据导入到信息服务器存储库中。

在“设计器”窗口中,执行以下步骤。

步骤1)Select Import > Table Definitions > Start Connector Import Wizard

步骤2)从向导的连接器选择页面中,选择DB2连接器并单击Next。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤3)在连接详细信息页面上单击load。这将使用您在前一章中创建的数据连接中的连接信息填充向导字段。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤4)单击同一页面上的Test connection。这将提示DataStage尝试连接到STAGEDB数据库。您可以看到消息“连接成功”。单击Next。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤5)确保在数据源位置页面上正确填充了主机名和数据库名字段。然后单击next。

步骤6)模式页面。输入Apply control tables (ASN)的模式,或者检查ASN模式是否预先填充到模式字段中。然后单击next。选择页面将显示ASN模式中定义的表列表。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

第一个需要导入元数据的表是IBMSNAP_FEEDETL,这是一个应用控制表。它有关于同步点的详细信息,允许DataStage跟踪它从CCD表中获取的行。选择IBMSNAP_FEEDETL并单击Next。

步骤8)完成IBMSNAP_FEEDETL表定义的导入。单击导入,然后在打开的窗口中单击打开。

步骤9)重复步骤1-8两次,以导入PRODUCT_CCD表和INVENTORY_CCD表的定义。

注意:在导入库存和产品的定义时,请确保将模式从ASN更改为创建PRODUCT_CCD和INVENTORY_CCD的模式。

现在DataStage拥有连接到SQL复制目标数据库所需的所有细节。

为DataStage作业设置属性

对于我们拥有的四个DataStage并行作业中的每一个,它都包含一个或多个与STAGEDB数据库连接的阶段。您需要修改阶段来添加连接信息并链接到DataStage填充的dataset文件。

阶段具有可编辑的预定义属性。这里,我们将为STAGEDB_ASN_PRODUCT_CCD_extract并行作业更改其中一些属性。

步骤1)浏览设计器存储库树。在SQLREP文件夹下选择STAGEDB_ASN_PRODUCT_CCD_extract并行作业。要编辑,右键单击作业。并行作业的设计窗口在设计器调色板中打开。

步骤2)找到绿色图标。这个图标表示DB2 connector阶段。它用于从CCD表中提取数据。双击图标。打开舞台编辑器窗口。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤3)在编辑器中单击Load,用连接信息填充字段。要关闭舞台编辑器并保存更改,请单击OK。

步骤4)现在返回到STAGEDB_ASN_PRODUCT_CCD_extract并行作业的设计窗口。找到getSynchPoints DB2 connector阶段的图标。然后双击图标。

步骤5)现在单击load按钮,用连接信息填充字段。

注意:如果您使用的数据库不是STAGEDB作为应用控制服务器。然后选择加载getSynchPoints阶段的连接信息的选项,该阶段与控制表而不是CCD表交互。

步骤6)在这个步骤中,

  • 在运行InfoSphere DataStage的系统上创建一个空文本文件。
  • 将此文件命名为productdataset。并记下您保存它的位置。
  • DataStage将在从CCD表获取更改后将更改写入该文件。
  • 用于在链接作业之间移动数据的数据集或文件称为持久数据集。它由DataSet阶段表示。

步骤7)现在打开design窗口中的stage editor,双击图标insert_into_a_dataset。它会打开另一个窗口。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤8)在这个窗口

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

  • 在properties选项卡下,确保打开目标文件夹并突出显示File = DATASETNAME属性。
  • 在右边,您将有一个file字段
  • 输入productdataset的完整路径。ds文件
  • 点击“OK”。

您现在已经更新了产品CCD表的所有必要属性。关闭设计窗口并保存所有更改。

步骤9)现在定位并打开stage edb_asn_inventory_ccd_extract parallel job(从设计器的repository窗格中提取并行作业),重复步骤3-8。

注意:

  • 您必须将控制服务器数据库的连接信息加载到getSynchPoints阶段的阶段编辑器中。如果您的控制服务器不是STAGEDB。
  • 对于STAGEDB_ST00_AQ00_getExtractRange和stagedb_st00_aq00_markrangemanaged并行作业,打开所有DB2连接器阶段。然后使用load函数为STAGEDB数据库添加连接信息

编译和运行DataStage作业

当DataStage作业准备好编译时,设计器通过查看输入、转换、表达式和其他细节来验证作业的设计。

当作业编译成功完成时,就可以运行了。我们将编译所有五个作业,但只运行“作业序列”。这是因为该作业控制所有四个并行作业。

步骤1)在SQLREP文件夹下。通过(Cntrl+Shift)选择五个作业中的每个作业。然后右键单击并选择多个作业编译选项。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤2)您将在DataStage编译向导中看到五个作业被选中。单击Next。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤3)编译开始并显示一条消息“编译成功”一旦完成。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

步骤4)现在启动DataStage和QualityStage Director。选择Start > All programs > IBM Information Server > IBM WebSphere DataStage和QualityStage Director。

步骤5)在左边的项目导航窗格中。单击SQLREP文件夹。这将把所有5个作业都放入director status表中。

步骤6)选择STAGEDB_AQ00_S00_sequence作业。从菜单栏中click Job > Run Now.。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

编译完成后,您将看到完成状态。

现在检查存储在PRODUCT_CCD和INVENTORY_CCD表中的更改行是否由DataStage提取并插入到两个数据集文件中。

步骤7)回到设计器并打开STAGEDB_ASN_PRODUCT_CCD_extract作业。要打开阶段编辑器,双击insert_into_a_dataset图标。然后单击view data。

步骤8)接受要显示的行中的默认值。然后单击OK。将打开一个数据浏览器窗口来显示数据集文件的内容。

测试SQL复制和DataStage之间的集成

在前面的步骤中,我们编译并执行了任务。在本节中,我们将检查SQL复制和DataStage的集成。为此,我们将对源表进行更改,并查看是否将相同的更改更新到DataStage。

步骤1)导航到操作系统的sqlreply -datastage-scripts文件夹。

步骤2)通过以下步骤启动SQL复制:

运行startSQLCapture.bat (Windows)文件来启动SALES数据库中的捕获程序。

运行startSQLApply.bat (Windows)文件,在STAGEDB数据库中启动应用程序。

步骤3)现在打开updateSourceTables。sql文件。要连接到SALES数据库,请使用用户ID和密码替换< SALES -connect-ID>和< SALES -password>。

步骤4)打开DB2命令窗口。将目录更改为sqlreplp -datastage-tutorial\scripts,然后使用下面的命令运行issue:

db2 tvf updateSourceTables.sql

SQL脚本将对Sales数据库中的两个表(产品、库存)执行更新、插入和删除等各种操作。

步骤5)在运行DataStage的系统上。打开DataStage Director并执行STAGEDB_AQ00_S00_sequence作业。单击作业>现在运行。

《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

当您运行作业时,将执行以下活动。

Capture程序读取SALES数据库日志中的六行更改,并将它们插入CD表。

Apply程序从SALES的CD表中获取更改行,并将它们插入到stage edb的CCD表中。

这两个DataStage提取作业从CCD表中提取更改并将其写入productdataset。ds和库存数据集。ds文件。

您可以通过查看数据集来检查上述步骤是否已经发生。

步骤6)遵循以下步骤,

设计师开始。打开STAGEDB_ASN_PRODUCT_CCD_extract作业。

然后双击insert_into_a_dataset图标。在舞台编辑器中。单击视图数据。

接受要显示的行中的默认值,然后单击OK。

数据集包含三个新行。检查所实现更改的最简单方法是向下滚动数据浏览器的最右侧。现在看看最后三行(见下图)


《ETL工具DataStage的安装和使用教程(国外版)、入门ETL工具操作指南》

字母I、U和D指定了插入、更新和删除操作,这些操作将产生每一行。

您可以对Inventory表执行相同的检查。

总结:

  • Datastage是一个ETL工具,它可以从源文件中提取数据、转换数据并将数据加载到目标文件中。
  • 它通过提供质量数据来帮助获取商业智能,从而简化了业务分析。
  • DataStage分为两个部分,共享组件和运行时架构。
  • DataStage有四个主要组件,
    • Administrator
    • Manager
    • Designer
    • Director
  • 以下是IBM InfoSphere DataStage的关键方面
    • Data transformation
    • Jobs
    • Parallel processing
  • 在工作设计中涉及的各个阶段是
    • Transform stage
    • Filter stage
    • Aggregator stage
    • Remove duplicates stage
    • Join stage
    • Lookup stage

文章说明:

本文翻译自国外技术文章:https://www.guru99.com/datastage-tutorial.html

本文为九五青年博客翻译,如需转载请在下面留言,原文如有版权问题,在下面留言板反馈,我们会第一时间处理。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注