DataStage简介

本文遵循BY-SA版权协议,转载请附上原文出处链接。


本文作者: 黑伴白

本文链接: http://heibanbai.com.cn/posts/e3c56d42/

DataStage简介

数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的

ETL 过程(Extract,Transform, Load)。

什么是DataStage

DataStage是一款ETL工具,属于IBM® WebSphere® Data Integration Suite中一个用于ETL的组件。DataStage企业版支持大容量数据的收集、整合和转换,数据从简单结构到复杂结构。

DataStage服务端

  • Server:运行可执行job;

  • Repository:存储元数据的档案资料库;

  • DataStage Package Installer:安装打包的job以及插件。

DataStage客户端

DataStage客户端在安装完成后, 可以在桌面看到一下几个图标:

客户端组件

其中, 主要用的是下面几个组件:

  • Administrator:设置服务器端属性,建立用户、project,设置project属性;
  • Manager:管理Repository,导入元数据,导入job和project,备份job和project;
  • Director:验证job,运行Job,schedule job,monitor job,查看job日志;
  • Designer:设计job,编译job,调试job。

开发作业常用组件

DataStage的基本逻辑处理单位是Job,每个Job由许多Stage组成;由Stage来完成对数据的抽取,转换,加载等,现对常用的Stage做说明.

如下图所示, 可以从 View - Palette 打开组件列表, 下面为常用的数据库Stage:

  • 从对应数据库中读取数据或者写数据到对应数据库中

stage-01

下图为常用的文件Stage:

  • Sequential File: 适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件。
  • Data Set: 从data set文件中读取数据或者写数据到data set文件中,一个Date Set Stage只能有一个输入连接(input link)或者一个输出连接(output link)
  • File Set: 从file set文件中读取数据或者写数据到file set文件中,一个File Set Stage只能有一个输入连接(input link)、一个输出连接(output link)和一个拒绝连接(rejects link)。并且只能在并行模式下执行

stage-02

下面为常用的加工处理Stage:

  • Change Capture: Change Capture Stage 有两个输入,分别标记为 before link 及 after link。输出的数据表示 before link 和 after link 的区别,我们称作 change set。Change Capture Stage 可以和 Change Apply Stage 配合使用来计算 after set

  • Copy: Copy Stage 可以有一个输入,多个输出。它可以在输出时改变字段的顺序,但是不能改变字段类型

  • Filter: Filter Stage 只有一个输入,可以有多个输出。根据不同的筛选条件,可以将数据输出到不同的 output link

  • Funnel: 将多个字段相同的数据文件合并为一个单独的文件输出

  • Tansformer: 一个功能极为强大的 Stage。有一个 input link,多个output link,可以将字段进行转换,也可以通过条件来指定数据输出到那个 output link。在开发过程中可以使用拖拽

  • Sort: 只能有一个输入及一个输出,按照指定的Key值进行排列。可以选择升序还是降序,是否去除重复的数据等等

  • LookUp: LookUp Stage 把数据读入内存执行查询操作,将匹配的字段输出,或者在在符 合条件的记录中修改或加入新的字段

  • Join: 将多个表连接后输出

  • Merge: 将 Merge Key 值相同的记录合并。将其中的一个输入设定为 Master,其余的为 Update。把 Update 中 Merge Key 相同的记录合并入 Master

  • Aggregator: 将输入的数据分组,计算各组数据的总和或者按组进行其他的操作,最后将结果数据输出到其他的stage

  • Remove Duplicates: 输入根据关键字分好类的有序数据,去除所有记录中关键字重复的记录,通常与sort stage配合使用

stage-03

作业类型

在进行新建作业时, 可以看到有几个选择, 是DataStage中的几个作业类型:

作业类型

  • Parallel Job: Server Job 简单而强大,适合高速开发 ETL 流程。Parallel Job 与 Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下能够迅速提高数据处理效率。Parallel Job 中包括很多其它的 Stage 并用于不同的需求。每种 Stage 使用上的限制也往往大于 Server Job。
  • Sequence Job: Sequence Job 用于 Job 之间的协同控制,使用图形化的方式来将多个 Job 汇集在一起,并指定了 Job 之间的运行顺序。逻辑关系和出错处理等。
  • Server Job: 一个 Job 就是一个 Datastage 的可执行单元。Server Job 是最简单经常使用的 Job 类型,它使用拖拽的方式将主要的设计单元 -Stage 拖拽到工作区中。并通过连线的方式代表数据的流向。通过 Server Job,能够实现下面功能:
    1. 定义数据怎样抽取
    2. 定义数据流程
    3. 定义数据的集合
    4. 定义数据的转换
    5. 定义数据的约束条件
    6. 定义数据的聚载
    7. 定义数据的写入

抽库作业

  • 从DB2数据库抽取落地文件

抽库作业-01

  • 配置数据库, 抽取SQL等信息

image-20240520174643350

  • 抽取的字段信息

抽库作业-03

  • 抽取后落地文件的属性信息

抽库作业-04

  • 抽取后落地文件的格式信息

抽库作业-05

  • 抽取后落地文件的字段信息

抽库作业-06

标准化入库作业

  • 对文件数据进行标准化处理后入库

转码作业-01

  • LookUp组件对代码进行转换

LookUp组件

  • Transformer组件对其他字段进行标准化处理

Transformer组件

  • 入库方式选择

入库方式

  • 库表动作(追加/清表等)

表动作

  • 入库前操作

入库前清理及自动提交

常用菜单按钮

编译执行等按钮


蚂蚁🐜再小也是肉🥩!


DataStage简介
http://heibanbai.com.cn/posts/e3c56d42/
作者
黑伴白
发布于
2022年5月20日
许可协议

“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付