DataStage简介
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:
- 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:
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配合使用
作业类型
在进行新建作业时, 可以看到有几个选择, 是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,能够实现下面功能:
- 定义数据怎样抽取
- 定义数据流程
- 定义数据的集合
- 定义数据的转换
- 定义数据的约束条件
- 定义数据的聚载
- 定义数据的写入
抽库作业
- 从DB2数据库抽取落地文件
- 配置数据库, 抽取SQL等信息
- 抽取的字段信息
- 抽取后落地文件的属性信息
- 抽取后落地文件的格式信息
- 抽取后落地文件的字段信息
标准化入库作业
- 对文件数据进行标准化处理后入库
- LookUp组件对代码进行转换
- Transformer组件对其他字段进行标准化处理
- 入库方式选择
- 库表动作(追加/清表等)
- 入库前操作
常用菜单按钮
蚂蚁🐜再小也是肉🥩!
“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付