Datastage学习总结[范文大全]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Datastage学习总结[范文大全]
第一篇:Datastage学习总结
Datastage学习总结 Datastage介绍
1.1 产品概述
DataStage企业版是Ascential Software公司所有企业整合系列产品中关键产品。
企业版支持大容量数据的收集、整合和转换,数据从简单结构到很复杂的结构。
基于高可扩展性的软件架购,企业版使得企业能够通过高性能来解决大部分业务问题,并行处理大容量数据。
强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。
DataStage企业版发布了四个核心功能来成功实施企业数据整合:1)先进的开发和简单化的维护; 2)企业级别的开发、监测和管理;
3)在吞吐量和性能方面提供了无限制的高扩展的体系架构;4)端对端的企业级元数据管理。
DataStage企业版提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。
DataStage企业版增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。
结果,DataStage企业版使得企业能够花更少的时间开发他们的整合应用,更多的时间是不断的从中受益。
1.2 基础架构
1.3 客户档介绍
用户通过各个客户端工具访问DataStage企业版的开发、配置和维护功能。
这些工具包括:
Designer:用来建立和编辑DataStage作业和表的定义。
Designer中的“Job Sequencer”控制作业的执行,其他作业成功完成(或失败,等)的条件。
Administrator:用来执行管理任务,如建立DataStage用户、建立和删除工程并且建立清洗标准。
Manager:用来编辑管理用户工程的DataStage资料库。
Director:用来验证、时序安排、运行和监测企业版作业。
日常操作
2.1 登录客户端
2.1.1 登录Datastage Administrator 客户机
点击图标
选择需要登录的服务器,输入用户名,密码登录
进去后点击项目,可进行项目增加,删除,设置项目属性
2.1.2 登录DatastageDesigner客户机
点击图标
选择需要登录的域,输入用户名,密码,选择需要登录的项目
登录成功:
2.1.3 登录DatastageDirector客户机
点击图标
选择需要登录的域,输入用户名,密码,选择需要登录的项目
登录成功:
2.2 启停服务端
以dsadm用户进入,执行以下命令:
1)Server启动命令:$HOMEDIR/uv–admin-start 注意:启动前,需要查看端口是否被释放,通过‘netsta t–afinet |grep ds’查看,如果有连接,则需要等待操作系统自动释放后在启动服务。
2)Server停止命令:$HOMEDIR/uv–admin /stop 注意:停止前最好确保没有Client连接,可以通过‘onstat–a |grep ds’查看,是否还存在Client连接,否则要通知相应登录的client端彻底退出。
2.3 Job编译
登录Datastage Designer客户机,参见2.1.2,打开欲编译的Job,具体Job编译方法有两种:
1)选择菜单栏的【文件】->【编译(M)】,快捷键为F7。
2)点击工具栏的编译图标。
2.4 Job运行
Datastage Job运行有两种方式:一种在Designer中,一种在Director中。
1)登录Designer客户机,打开欲运行的Job,选择菜单栏的【文件】->【运行(R)】,快捷键为Ctrl+F5或者点击工具栏的运行图标。
2)登录Director客户机,选中欲运行的作业,选择菜单栏的【作业(J)】->【立即运行(N)】,或者点击工具栏的立即运行图标。
2.5 监视作业
登录Director客户机,选中欲监视的作业,右键选择【监视】,可以查看作业的运行情况。
如下图所示:
2.6 查看日志
登录Director客户机,选中欲查看日志的作业,右键选择【查看日志】出现:
2.7 作业解锁 2.7.1 方法1
如遇到断网等一些情况可能导致作业被某一锁定,从而无法对作业进行修改。
解锁方法:
输入用户名,密码,登录后选择
【管理】->【会话管理】->【活动会话】,对那个被锁定作业的会话,选择【断开链接】
2.7.2 方法2用管理员用户登录DataStage Administrator 打开对应PROJECT的【命令(M)】执行 LIST.READU 查看Locks 通过最后一列item id找到被锁的对应的作业名执行下面命令解锁UNLOCK USERUserno ALL 其中username 为LIST.READU 所列出的信息中对应的Userno。
2.8 Job导入
登录Designer客户机,选择菜单栏的【导入(I)】->【Datastage组件(C)】,选择所需导入的dsx文件,界面如下:
2.9 Job导出
登录Designer客户机,导出Datastage Job有两种方法:
(1)选择菜单栏的【导出(X)】->【Datastage组件(C)】,界面如下:
点击添加按钮,选择所需的导出的Datastage Job,在要导出的作业组件一般选择“导出不带可执行文件的作业设计”,在导出到文件中选择本地的保存路径跟文件名。
(2)在所需导出的Job上右键单击,在弹出菜单中选择【导出(X)】,在如上界面中的导出到文件选择本地的保存路径跟文件名。
2.10 数据库表定义导入datastage 登录Designer客户机,选择菜单栏的【导入(I)】->【表定义(T)】->【插件元数据定义(M)】
选择表定义所在的数据库,输入用户名,密码
选择【导入(I)】 Datastage配置
3.1 常见目录说明
1)主机下发数据目录:/appdata/DATA#DATE 2)Datastage转码生成公共数据集目录:/appdata/DSDATA/$DATE/ 3)DataStage的配置目录,/usr/datastage/InformationServer/Configurations,其下有其配置文件,可以设置运行结点数,Dataset数据文件目录,Dataset日志文件目录。
{ node “node1”
{
fastname “T219N2V3” pools “" resource disk ”/appdata/DSDATA/DATASET“ {pools ”“} resourcescratchdisk ”/appdata/DSDATA/SCRATCH“ {pools ”“} } node ”node2“
{ fastname ”T219N2V3“ pools ”“ resource disk ”/appdata/DSDATA/DATASET“ {pools ”“} resourcescratchdisk ”/appdata/DSDATA/SCRATCH“ {pools ”“} } } Dataset数据文件目录:resource disk ”/appdata/DSDATA/DATASET“ Dataset日志文件目录:resourcescratchdisk ”/appdata/DSDATA/SCRATCH" 4)DataStage 的引擎所在目录,/usr/datastage/InformationServer/DSEngine,其下有bin,lib等,其中include里面有个dsapi.h很有用,定了很多错误,遇到错误,可以到文件里面找,不过这里只能找到常见错误,
一些unexpected error无法在里面找到错误原因。
3.2 DataStage Administrator配置
登录Administrator客户机,选择【项目】标签,选择要配置的project,在General->Enviroment…中
1.在General类型下:
⎥TMPDIR=XXX(将其指向一个相对较大的目录,不填写就是指缺省的/tmp目录,此处需要讨论)。
2.在Parallel类型下:
⎥APT_CONFIG_FILE,配置文件及其运行节点数,其配置文件为:/usr/datastage/InformationServer/Configurations/cissuat.apt,这里需要检查一下指
向的内容是否正确。
具体详见3.1中DataStage的配置目录。
⎥ APT_STRING_PADCHAR=(缺省值是0x0,我们需要填写一个空格)3.在Parallel->Operator Specific类型下
⎥ APT_COPY_TRANSFORM_OPERATOR设置为True,在做多结点运行时需要设置。
4.在User Defined类型下:
⎥APT_IMPEXP_ALLOW_ZERO_LENGTH_FIXED_NULL设置为1。
(如果目前数据统一为定长无分隔符,或者说不要设置定长的Null值,就不需要设置)。
常用组件
4.1 Sequential file 功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件。
使用要点:⌝按照命名规范命名
⌝点住文件,双击鼠标,在general说明此文件内容,格式,存储目录等
⌝修改文件属性,文件名称,reject方式等到
⌝修改文件格式,比如记录结束符是什么,字段分隔符,字符串是用什么区别等
⌝输入此文件字段内容
4.2 Annotation 功能特点:一般用于注释,可利用其背景颜色在
job中分颜色区别不同功能块使用要点:
4.3 Change Capture Stage ⌝功能特点:Change Capture Stage有两个输入,分别标记为before link 及after link。
输出的数据表示before link和after link的区别,我们称作change set。
Change Capture Stage可以和Change Apply Stage配合使用来计算after set。
⌝ key及value的说明
key值是比较的关键值,value是当key值相同是作进一步比较用的。
⌝ change mode选项说明:
All keys,Explicit Values
需要指定value,其余字段为key Explicit Keys&Values
key及value都需要指定
Explicit Keys,All Values
需要指定key,其余的字段为value ⌝输出策略说明
Drop Output For Copy
False:保留before及afte link中key值相同的行True:删除before及afte link中key值相同的行
Drop Output For Delete
False:保留before link中有但是after link中没有的key
值所在的行
True:删除before link中有但是afte link中没有的key值所在的行 Drop Output For Edit
False:保留key值相同,value不同的行
True:删除key值相同,value不同的行
Drop Output For Insert
False:保留before link中没有但afte link中有的key值所
在的行
True:删除before link中没有但afte link中有的key值所在的行
4.4 Copy Stage ⌝功能说明:Copy Stage可以有一个输入,多
个输出。
它可以在输出时改变字段的顺序,但是不能改变字段类型。
注意:当只有一个输入及一个输出时最好将Force设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。
4.5 Filter Stage ⌝功能说明:Filter Stage只有一个输入,可以有多个输出。
根据不同的筛选条件,可以将数据输出到不同的output link。
4.6 Funnel Stage ⌝功能说明:将多个字段相同的数据文件合并为一个单独的文件输出
⌝合并策略说明
Continuous Funnel:从每一个input link中循环取一条记录
Sort Funnel:按照Key值排序合并输出
Sequence:先输出第一个input link的数据,输出完毕后再输出第二个input link的数据,依此类推,直到结束。
(此时可以通过调整link Ordering调整输出顺序)4.7 Tansformer Stage ⌝功能说明:一个功能极为强大的Stage。
有一个input link,多个output link,可以将字段进行转换,也可以通过条件来指定数据输出到那个output link。
在开发过程中可以使用拖拽。
⌝ Constraint及Derivation的区别
Constraint通过限定条件使符合条件的数据输出到这个output link。
Derivation通过定义表达式来转换字段值。
在Constraint及Derivation中可以使用Job parameters及Stage Variables。
⌝注意:Transformer Stage功能强大,但在运行过程中是以牺牲速度为代价的。
在只有简单的变换,拷贝等操作时,最好用Modify Stage,Copy Stage,Filter Stage等来替换Transformer Stage。
4.8 Sort Stage 功能说明:只能有一个输入及一个输出,按照指定的Key值进行排列。
可以选择升序还是降序,是否去除重复的数据等等。
⌝ Option具体说明
Allow Duplicates:是否去除重复数据。
为False时,只选取一条数据,当Stable Sort为True时,选取第一条数据。
当Sort Unility为UNIX时此选项无效。
Sort Utility:选择排序时执行应用程序,可以选择DataStage内建的命令或者
Unix的Sort命令
Output Statistics:是否输出排序统计信息到job日志
Stable Sort:是否对数据进行二次整理
Create Cluster Key Change Column:是否为每条记录创建一个新的字段:
clusterKeyChange。
当Sort Key Mode为Don’t Sort(Previously Sorted)或Don’t Sort(Previously Grouped)时,对于第一条记录该字段被设置为1,其余的记录设置为0。
Create Key Change Column:是否为每一条记录创建一个新的字段
KeyChange。
4.9 LookUp Stage ⌝
功能说明:LookUp Stage把数据读入内存执行查询操作,将匹配的字段输出,或者在在符合条件的记录中修改或加入新的字段。
4.10 Join Stage ⌝功能说明:将多个表连接后输出
4.11 LookUp Stage 和 Join Stage的区别
LookUp Stage将数据读入到内存中,所以效率很高,但是占用了较多的物理内存。
所以当reference data比较小的时候,我们推荐用LookUp Stage;当reference data比较大的时候,我们推荐用Join Stage。
4.12 Merge Stage ⌝功能说明:将Merge Key值相同的记录合并。
将其中的一个输入设定为Master,其余的为Update。
把Update 中Merge Key相同的记录合并入Master。
4.13 Modify Stage ⌝功能说明:Modify stage只能有一个输入及一个输出,它可以修改表结构:删除,保留一个字段;给字段改名;
修改字段的数据类型。
⌝ Specification的具体用法:
删除一个字段:DROP columnname[, columnname] 保留一个字段:
KEEP columnname[, columnname] 改变字段:new_columnname[:new_type] = [explicit_conversion_function]old_columnname
可用的explicit_conversion_function请参看《Parallel Job Developer’s Guide》page 28-7 4.14 Data Set Stage ⌝ Stage类型:File stage
⌝功能说明:从data set文件中读取数据或者写数据到data set 文件中,一个Date Set Stage只能有一个输入连接(input link)或者一个输出连接(output link)。
⌝具体用法:包括Stage Page,Inputs Page,Outputs Page ⎫ Stage Page通常描述了stage的一般信息,诸如名称等;
⎫ Inputs Page描述了即要写入信息的data set文件的详细信息;主要是Properties和Column的定义
Properties中配置了文件的存放路径和更新策略
Column详细定义文件中的各个字段
⎫ Outputs Page描述了读取信息的data set文件的详细信息;操作过程与Inputs Page类似。
4.15 File Set Stage ⌝ Stage类型:File stage ⌝功能说明:从file set文件中读取数据或者写数据到file set文件中,一个File Set Stage只能有一个输入连接(input link)、一个输出连接(output link)和一个拒绝连接(rejects link)。
并且只能在并行模式下执行。
⌝具体用法:
⎫ Stage Page:对Stage的基本定义
⎫ Inputs Page:主要是Properties和Format的配置 Properties 的配置:定义文件的存取路径及其他读写的相关的参数。
特别要说明的是Options下的Reject Mode的选择,当stage有reject link的时
候,必须选择Output;没有reject link时,可选择其他两个选项。
Format的配置:定义了数据写到文件中的格式
⎫ Outputs Page:对stage输出的数据字段的描述,另外,reject link的输出系统将默认,不需要用户自己定义字段。
4.16 LookupFile Set Stage ⌝ Stage类型:File stage ⌝功能说明:为执行查找操作而创建的参照文件。
作为查找的参照数据,通常在参照数据比较大量或者重复使用率较高的情况下,将参照数据生成专门的Lookup File Set文件,以便提高查找的效率
⌝具体用法:
⎫ Stage Page ⎫ Inputs Page:主要定义了查找关键字和存放路径等主要信息创建一个Lookup File Set文件:
⎫Outputs Page:当作为参照数据进行查找操作时,因为文件是已经生成好的,所以在这里不需要再做详细的定义,只要引入即可。
4.17 OracleEnterprise Stage ⌝ Stage类型:Database Stage ⌝功能说明:从Oracle数据库中读取数据或者写数据到Oracle数据库中。
通常完成的操作:
⎫⎫⎫⎫⎫⎫使用INSERT或UPDATWE命令更新数据库表装入数据库表读取数据库表
从数据库表中删除行
在库表中直接执行查询操作
将库表装入内存,然后执行查询操作
⌝具体用法:
⎫ Inputs Page 向数据库中写数据,关键是对Properties的配置⎫ Outputs Page:与Inputs Page类似,只是完成的是从数据库中读取数据。
4.18 Aggregator Stage ⌝ Stage类型:Processing Stage
⌝功能说明:将输入的数据分组,计算各组数据的总和或者按组进行其他的操作,最后将结果数据输出到其他的stage。
⌝具体用法:
⎫Stage Page:描述stage的一般信息以及字段的分组信息和选择分组计算函数
⎫Inputs Page:详细描述输入数据信息,一般直接反映输入数据字段信息⎫ Oupputs Page:详细描述输出数据信息,即经过分组计算后的数据字段信息
4.19 Remove Duplicates Stage ⌝Stage类型:Processing Stage ⌝功能说明:输入根据关键字分好类的有序数据,去除所有记录中关键字重复的记录,通常与sort stage配合使用⌝具体用法:⎫ Stage Page:Properties中的key值与之前sort stage的分类key值相同
⎫ Inputs Page:对输入数据字段的描述⎫ Oupputs Page:对输出数据字段的描述
4.20 Compress Stage ⌝ Stage类型:Processing Stage ⌝功能说明:将data set文件压缩成二进制文件(与expend datastage相对应)
⌝具体用法:
⎫ Stage Page
运行结果
⎫ Inputs Page:对输入数据字段的描述⎫ Oupputs Page:对输出数据字段的描述
4.21 Expand Stage ⌝ Stage类型:Processing Stage ⌝功能说明:将压缩的二进制文件解压缩(解压缩compress stage生成的压缩文
件)
⌝具体用法:
⎫ Stage Page
运行结果:
⎫ Inputs Page:对输入数据字段的描述⎫ Oupputs Page:对输出数据字段的描述
4.22 DifferenceStage ⌝ Stage类型:Processing Stage ⌝功能
说明:按字段比较两个文件,找出不同的记录。
(两个文件before和after,以before为准,与after文件中的记录进行比较,找出before 在after文件中没有或者有的记录)⌝具体用法:
⎫ Stage Page
⌝比较策略说明
Drop Output For Copy
False:保留before及afte link中key值相同的行
True:删除before及afte link中key值相同的行
Drop Output For Delete
False:保留before link中有但是afte link中没有的key值
所在的行
True:删除before link中有但是afte link中没有的key值所在的行 Drop Output For Edit
False:保留key值相同,value不同的行True:删除key值相同,value不同的行
Drop Output For Insert
False:保留before link中没有但afte link中有的key值所
在的行
True:删除before link中没有但afte link中有的key值所在的行
调整before和after的顺序:
⎫ Inputs Page:对输入数据字段的描述
⎫ Oupputs Page:对输出数据字段的描述
4.23 CompareStage ⌝ Stage类型:Processing Stage ⌝功能说明:按字段对比两个已经分类的有序的文件
⌝具体用法:
⎫ Stage Page ⎫ Inputs Page:对输入数据字段的描述⎫ Oupputs Page:对输出数据字段的描述
4.24 SwitchStage ⌝ Stage类型:Processing Stage ⌝功能说明:将文件按照一定的条件(一般为字段的值)分割成多个子文件。
具体
是将输入的每一条记录按照各自符合的条件(关键字的值)分配到不同的输出(Switch Stage 有一个input link 和多个output link,一个reject link,output link最多可达128个;此功能很类似与C函数中的switch函数)。
⌝具体用法:
⎫ Stage Page 定义分配记录的关键字及其值
⎫ Inputs Page:对输入数据字段的描述
⎫Oupputs Page:对输出数据字段的描述,通过Mapping自定义各个输出文件中的字段
4.25 Column ImportStage ⌝ Stage类型:Restructure Stage ⌝功能说明:将一个字段中的数据输出到多个字段中。
(也可以用这个stage完成分割单个字段数据到多个字段的目的,此时,输入数据应为定长或者有可以被识别的可分割的界限,必须是String或者Binary类型的,输出数据可以是任何数据类型)
⌝具体用法:
⎫ Stage Page:关键是对Properties的配置
⎫ Inputs Page:对输入数据字段的描述
⎫ Oupputs Page:对输出数据字段的描述,在Column自定义输出字段
⎫经过stage的前后数据的对比
字段分割后:
4.26 Column ExportStage ⌝ Stage类型:Restructure Stage ⌝功能说明:与Column ImportStage相反,将多个类型不同的字段合并成一个string或者binary类型的字段。
第二篇:DaTaStage入门学习心得
DataStage入门学习心得
DataStage是一个ETL的工具,就是对数据的抽取,转换,加载。
个人通俗的理解就是一个对数据进行处理,提取的工具,这里面的数据大部分是以数据库中表的格式存在着的,所以如果要使用这个工具,首先必须对关系数据库的一些基本概念要有所了解,比如最基本的字
段,键,记录等概念。
DataStage是通过设计job来实现ETL的功能的。
Job的设计跟普通的IDE设计一样,通过拖拽控件,并填加脚本来完成。
这里的控件称为stage,每一个不同的stage都有不同的数据处理的功能,将各个stage通过一定的方式组合起来,设计成job,对job进行编译,运行,就能够实现对数据抽取转换加载。
因此,要设计job的关键,就在于能够熟悉每个不同的stage并且能够灵活运用。
在文档和指导中有对每个控件的使用方法作了图文并茂的说明,但是教材语言的一个缺点就是太过形式化,所以有些概念不能够很好的理解。
比如lookup这个stage我在看教材的时候就没有太了解。
所以,我就结合自己,用自己的语言对一些比较常用的stage说一下自己的理解和一些需要注意的地方。
在这么多的控件当中,实际上平时要用到的只有为数不多的几个:Sequential File Stage:这个控件实际上是指代主机上面的一个文件,在它的属性中可以选定文件的路径,目录。
一般这些文件都是以类似数据库表的格式存在的。
使用这个控件关键的地方在于要设置好它的格式,包括column和format这两个标签。
Column指的是文件当中的列定义,一般可以通过load列定义文件来确定。
Format指的是文件当中的一些分隔符,日期格式等等,在实际文件当中字段和字段之间可以用逗号,竖线,等符号隔开,每个字段本身也可以选择是否要用引号来引起来。
所有这些,stage要设置成和文件一致,否则这个stage就无法真实的指代主机上面的文件。
如果不知道文件的字段格式,可以登录到unix主机下面去cat一下文件。
一个验证的方法是在这个stage的属性当中选择显示数据view data,如果数据能够正常显示出来,那么就表示已经设置成功了。
Transformer stage:这个控件是个功能强大的控件,在开发的时候最经常用到。
它有一个输入,而可以有多个输出。
它最常用的也是最好用的功能就是对单个字段进行处理和转换。
基本上想对单个字段做任何的操作都能够做到。
包括拼接,转换,插入等等功能,需要自己在实际操作中熟悉。
需要注意的地方是它的两个附加的功能,stage
的变量和constrait限制条件。
正如程序设计一样,在这个stage当中可以定义一些变量,来实现一些特定的功能。
比如,我们定义某个变量var1,把输入的某个字段连到这个变量上面,然后,就可以根据输入字段来定义该变量的值,再通过判断该变量的值来设置输出字段。
而constraint一般都是用来限制输出的,每个输出都有一个constraint,一般都是在constraint中限制条件,当满足这个条件时,才进行这个输出。
Join Stage:这个控件顾名思义,其实就是类似数据库当中的连接操作。
因此,两个输入,一个输出。
在stage属性里面可以设置left,right,inner,outer等等。
只要对数据库的表连接操作了解,那么这个stage也就相应了解了。
Filter Stage:这个控件有点类似数据库sql语言中的where。
一个输入,可以把这个输入理解为一张大表,在stage的属性中可以设置条件字段。
多个输出,每个输出就是select * from 大表 where 条件所产生的结果。
LookUp Stage:这个控件最初看文档的时候,觉得说的不是很清楚。
后来经过动手实践后,才能够真正理解。
这个stage有多个输入,一个输出。
有一个输入作为主输入,其它的的输入相当于是参考输入。
主输入中的某些字段要来参考输入查询,然后再将结果进行输出。
实际上就是一个“查表”的过程。
比如主输入中有一个字段,如果值是a,到参考输入表中去查表,发现参考输入表中的a所对应的值是1,那么输出对应的字段就应该填1了。
以此类推。
这个控件在代码标准化的时候用到。
Change Capture Stage:这个stage是用来处理全量增量的时候用到的,在目前似乎暂时还没有用到。
这个stage个人感觉是最困难的。
其中的before link,after link。
Key,value之间的关系比较混乱,需要在实践中逐渐熟悉。
Annotation stage:注释用的,放一块方框,用来往里面写注释。
关于reject:刚刚接触这个概念的时候,是比较难以理解的。
因为这个好像是datastage自己所特有的概念。
就我自己的理解来讲,每
个文件都是由若干条记录组成的,而在这些记录里面,有一些记录是不符合规范的,比如说主键为空之类,或者某个字段不符合要求等等。
这是时候,可以设定reject规则,把这些不符合规范的记录挑出来送到一个文件里面。
而其他符合要求继续往下一步走,继续进行处理。
第三篇:DataStage(ETL)技术总结介绍篇
DataStage(ETL)技术总结--介绍篇(转载)
数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的 ETL 过程(Extract,Transform, Load)。
IBM WebSphere DataStage(下面简称为DataStage)为整个ETL 过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集或数据仓库的集成工具。
通常数据抽取工作分抽取、清洗、转换、装载几个步骤:
抽取主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。
转换主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过内建的库函数、自定义脚本或其他的扩展方式,实现了各种复杂的转换,并且支持调试环境,清楚的监控数据转换的状态。
装载主要是将经过转换的数据装载到数据仓库里面,可以通过数据文件直接装载或直连数据库的方式来进行数据装载,可以充分体现高效性。
在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中。
一.数据源连接能力:
数据整合工具的数据源连接能力是非常重要的,这将直接决定它
能够应用的范围。
DataStage 能够直接连接非常多的数据源,包括:
1、文本文件
2、XML 文件
3、企业应用程序,比如SAP、PeopleSoft、Siebel、Oracle Application
4、几乎所有的数据库系统,比如DB2、Oracle、SQL Server、Sybase ASE/IQ、T eradata、Informix等以及可通过ODBC连接的数据库
5、Web Services
6、SAS、WebSphere MQ
二.多国语言支持(NLS): DataStage能够支持几乎所有编码,以及多种扩展编码(IBM、NEC、富士通、日立等),可以添加编码的支持,DataStage内部为UTF8编码。
三.并行运行能力: ETL Job的控件大多数都支持并行运行,此外DataStage企业版还可以在多台装有DataStage Server的机器上并行执行,这也是传统的手工编码方式难以做到的。
这样,DataStage就可以充分利用硬件资源。
而且,当你的硬件资源升级的时候也不用修改已经开发好的ETL Job,只需要修改一个描述硬件资源的文件即可。
并行执行能力是DataStage所能处理数据的速度可以得到趋近于线性的扩展,轻松处理大量数据。
四.便捷的开发环境: DataStage 的开发环境是基于 C/S 模式的,通过 DataStage Client 连接到DataStage Server 上进行开发。
这里有一点需要注意,DataStage Client 只能安装在 Windows 平台上面(在Win2000/XP上运行过)。
而 DataStage Server 则支持多种平台,比如Windows、Solaris、Redhat Linux、AIX、HP-UNIX。
(在WinXP/Solaris8上运行过)DataStage Client 有四种客户端工具。
分别是 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director。
下面介绍这几种客户端工具在DataStage 架构中所处的位置以及它们如何协同工作来开发ETL Job 的。
(1)DataStage Administrator。