datastage入门培训
DataStage 基础培训_练习

2011-04-12
1
练习 1、需求内容 实现按部门和城市对订单进行多维度分析
2、设计方案 1)新建订单多维分析事实表
注:在插入数据之前,先对当前 2)源头取数
从订单表orders获取当前会计期(200305)订单信息
从员工表emp获取员工所属部门信息
从供应商表suppliers获取供应商所属城市信息
3
练习 2、设计方案 3)开发ETL,将基于部门和城市的订单多维分析数据装载到事
实表,要求:
A、新建一个JOB将订单信息先落地到中间数据文件 B、新建另一个JOB从中间数据文件抽取订单信息,并通过与员 工表、供应商表匹配获取订单多维分析数据,装载到事实表 C、通过JOB Sequence将两个JOB封装起来,并设计前后依赖
(2)DataStage环境
IP:192.168.1.253
Project:SIEProjectA u/p:dsadm/dsadm
5
练习 参考ETL(SQL)
6
Q&A
7
关系
D、使用的Stage包括但不限于以下stage:Oracle Stage、 DataSet Stage、Join Stage、Lookup Stage、Transformer Stage、Aggregator Stage
4
练习
3、环境
(1)#深圳SIEDW数据库 USER/ PASSWORD:BI_APP/bi_app SIEDW = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = SIEDW) ) )
DataStage官方培训教程10

DataStage官方培训教程10DataStage是一个ETL工具,它提供了广泛的数据连接选项以及数据转换和清理功能,以帮助企业完成数据仓库构建和管理。
由于数据驱动的世界越来越重要,数据管理和ETL应用程序的需求也变得越来越迫切。
DataStage官方培训教程10涵盖了DataStage常见的任务和操作,为学习DataStage用户提供了完整的指导。
在本文中,我们将对DataStage官方培训教程10进行分析和实践,以帮助读者更好地了解和掌握DataStage。
DataStage官方培训教程10的结构和内容DataStage官方培训教程10是一本基于DataStage 11.7版本的官方培训教材。
该教材共包含15个单元,分为4个部分。
第一部分介绍了DataStage概述和安装过程,包括DataStage架构、组件、工作流程等。
第二部分介绍了DataStage的数据源定义、数据移动和数据变换。
第三部分主要介绍了DataStage的错误处理和调试,包括日志、报告、来源和目标检查等。
第四部分介绍了高级主题,如DataStage管理、性能调整、共享资源和集成JDBC驱动程序等。
DataStage官方培训教程10的学习方法和技巧DataStage官方培训教程10是一本详细的教材,需要耐心和时间来学习。
以下是一些学习方法和技巧,可以帮助读者更好地掌握DataStage。
1.按照教材结构进行学习按照各个部分和单元的结构进行学习,以便逐步深入理解每个主题。
特别是,在学习前两部分时需要仔细阅读和理解数据源定义、数据移动和数据变换的概念和操作指南,掌握其重要性和影响关系。
2.完整地跟随实例进行演示教材中提供了许多实例来示范DataStage的各个方面,读者可以用自己的DataStage环境进行实操,加深对DataStage的理解和熟练度。
值得注意的是,在学习高级主题时需要一定的实践经验和技能,否则可能会花费更多的时间和精力。
DataStage基础培训教程ppt课件

全局变量与Job变量
• 全局变量 -- 生命周期:整个Project -- 在Administrator中定义
• Job变量 -- 生命周期:一个Job -- 在Designer、Manager中定义
演示:定义一个Job变量 在Designer中定义参数
Meta data definition
Debug and Tuning
• View Status and Logs - status, log, detail等多种视图 - 配合Monitor来查错、调优
Job Status
• Not Compiled • Compiled • Reset • Running • Finished • Finished (with warning) • Abort
演示:生成事实表
明细表
关联
聚合
事实表
Hash File
• 用途: -- 左连接时用作副表 -- 多次被访问的数据集 -- 存储其他临时数据
• 关键点: -- 必须指定key -- output的position必须与input一致
Transformer
• 用途: -- 提供丰富的运算符和函数 -- 数据清洗、转换 -- 关联多个数据源
DataStage基础培训
Jerry 2006.03
议程
• Hello World • DataStage Components • Define Parameter & Table • Hash File、Transformer、Aggregator • Director & Monitor • Administrator & Manager • Routine & Control
datastage入门教程

DATASTAGE总结一、安装datastageA、安装服务端安装虚拟机(注册码在文件中)---解压datastage安装包redhat3__Datastage----点击解压文件中Red Hat Enterprise Linux 3---安装---在虚拟机启动---查看虚拟机IP地址,在dos窗口验证是否可以连接---打开secureCRT,连接虚拟机---进入/app/oracle/product/10.2/network/admin/tnsnames.ora中---按E键,再按i 进入编辑状态---将IP地址设为本机Ip地址,数据库实例名自己设置---按ESC、W、Q、:键退出---完成B、安装客户端解压datastage客户端安装包Datastageclient---点击解压文件datastage7.5.3\datastage client---安装---注册码在datastage7.5.1下载地址及license中----完成二、DATASTAGE主键1、transforme r(oracle----transformer---file)数据源oracle设置properties\source\readmethod=auto-generated sqlproperties\source\table=要导入的表名点击connection,出现remote server=数据库实例名,user=Scott,password=tigerColumns下将length设置合适---load---oracleI9--选定导入的表名---ok注意:若不知道导入表的格式Columns下将length设置合适---load---import---plug-in meda data definitions---oracleI9--ok---数据库实例名,用户名、密码---ok--选择Scott用户下---选表--- 导入Transformer设置:将需要显示的字段拖拽过去---ok目标文件file设置:properties下file--填入保存路径first line is columns name=trueFomat下点击record level 添加record delimiter 属性为UNIX newline点击field defaults 添加 null field value 属性为0 Quote=noneColumns下将length设置合适----ok以下主键数据源或目标文件为oracle/file的设置同上transformer的设置方法2、转存(file---transformer---file)Transformer设置:将需要显示的字段拖拽过去---ok3、导入(file---transformer---oracle)Transformer设置:将需要显示的字段拖拽过去---ok4、copy(file--copy--多file):一个输入,多个输出Copy设置:stage当只有一个输入及一个输出时最好将Force设置为TrueOutput下将需要显示的字段拖拽过去---ok5、filter(file--filter---多file):只有一个输入,可以有多个输出Filter设置:stage下properties\where clause=过滤条件--点击whereclause出现output link=slink值(在link orderingzhong看对应值) Output下将需要显示的字段拖拽过去---ok6、join(多oracle---join---file):多表连接Join设置:stage下properties\join keys\key=关联字段,options\join type=连接类型(内、全、左、右连接)Output下将需要显示的字段拖拽过去---ok7、look up(多oracle---look up--file):数据的查询Look up设置:将关联字段连接,再将需要显示的字段拖拽过去8、merge(多file---merge---file):相同数据的合并Merge设置:stage下properties\merge keys\key=字段,sort order=排序Options下unmatched masters mode=保留/删除Output下将需要显示的字段拖拽过去---ok9、funnel(多file---funnel---file):数据的合并Funnel设置:stage下properties\options\funnel type=选择合并方式Output下将需要显示的字段拖拽过去---ok10、aggregator(oracle---aggregator---file):数据的分类、汇总Aggregator设置:stage下properties\grouping keys\group=分组字段点击aggregations\aggregation type出现column for calculation=聚合字段及合方式,可以取最大值,最小值, Sum值,count值等多种聚合方式。
DataStage组件学习

DataStage 的基本逻辑处理单位是Job,每个Job由许多stage组成;由Stage 来完成;由Stage 来完成对数据的抽取,转换,加载等;Sequential File Stage: 适用于一般顺序文件,可识别文本文件。
Annotation : 功能特点一般用于注释,可利用其背景颜色在job中分颜色区分不同功能模块。
Change Capture Stage功能特点:Change Capture Stage 有两个输入Copy Stage: 功能说明: Copy Stage 可以有一个输入,多个输出。
它可以再输出是改变字段的顺序,但是不能改变字段类型。
当只有一个输入及一个输出时最好将Force 设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。
Filter Stage: 只有一个输入,可以有多个输出。
根据不同的筛选条件,可以将数据输出到不同的output link。
Funnel Stage : 将多个字段相同的数据文件合并为一个单独的文件输出合并策略说明Continuous Funnel : 从每一个input link中循环取一条记录Sort Funnel :按照Key 值排序合并输出Sequence : 先第一个input link 的输出数据,输出完毕后再输出第二个input link 的数据,以此类推,直到结束Tansformer Stage: 一个功能强大的Stage 。
有一个input link,多个output link ,可以将字段进行转换,也可以通过条件来指定数据输出到哪个output link。
在开发过程中可以通过拖拽。
Constraint 及Derivation 的区别Constraint 通过限定条件使符合条件的数据输出到这个output linkDerivation 通过定义表达式来转换字段值。
在Constraint 及Derivation中可以使用Job parameter 及Stage Variable。
DATASTAGE技术培训-经典收藏

DataStage Designer常用STAGE
l Sequential file q 功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件
或IBM大机ebcdic文件。
DataStage Designer常用STAGE
修改文件属性,文件名称,reject方式等
DataStage Designer常用STAGE
对每个工程的各个单元,包括库表定义、集中的转换程序 和元数据连接等对象进行分类和组织。
DataStage Client部件简介
n Director 为启动、停止和监视作业提供交互式控制。
n Administrator 在服务器端管理Datastage的工程和使用者权限的分配。
DataStage服务器
单的设置,点击对我们的JOB进行编译,就可以运行了(我们 一般在Director运行JOB)。 u Designer的主要功能编译和设计JOB,编写函数、子程序、脚 本等。
我们将在下面以一个例子介绍Designer的用法。
DataStage功能组件-- Director
双击: 编辑的JOB。
进入Director登录界面,注意选择自己想进入
n 服务器 是数据集成的主要设备。在服务器上,你可以在运行时间
内对几个并行的处理过程进行控制,以便在多个不同的数据源 和数据目标之间发送数据。服务器可以安装在NT或UNIX、 LINUX环境中,同时通过调节来有效地利用多处理器和内存的 优势。通过使用Datstage中包括的许多富有效率的功能,企业 可以缩短学习周期、简化管理过程、最大限度地开发资源,从 而缩短数据集成应用程序的开发和维护周期。
DATASTAGE技术培训
ETL简介
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、 装载的过程)作为BI/DW(Business Intelligence)的核心和灵魂, 能够按照统一的规则集成并提高数据的价值,是负责完成数据 从数据源向目标数据仓库转化的过程,是实施数据仓库的关键 步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数 据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中 最难部分是用户需求分析和模型设计,而ETL规则设计和实施 则是工作量最大的,约占整个项目的60%~80%,这是国内外 从众多实践中得到的普遍共识。
DataStage基础及开发实践

DataStage基础及开发实践InfoSphere DataStage是IBM统一数据集成平台InfoSphere Information Server(IIS) 的重要组件,是业界主流的 ETL(Extract, Transform, Load) 工具。
DataStage执行从源系统到目标系统的批量和实时的数据转换和移动,它广泛支持各种异构平台的数据源和各种类型的数据格式(结构化、半结构化和非结构化数据);通过简单易用的图形化设计方式,并内置丰富的功能组件,从而支持从简单到高度复杂的数据结构中,对大量数据进行收集、清洗、整合和转换,具有满足最苛刻的数据集成需求所需的功能性、灵活性和可伸缩性。
本课程主要介绍InfoSphere DataStage的基本架构和产品特点,并基于实战案例详细讲解DataStage 的安装、配置、开发以及最佳实践。
课程大纲:第一课 IBM数据集成与治理方案简介第二课 Infosphere Datastage 架构、安装与配置第三课 Infosphere Datastage 管理与开发部署流程第四课 Infosphere Datastage 数据连接组件使用第五课 Infosphere Datastage 数据合并、排序与聚合组件使用第六课 Infosphere Datastage 数据转换组件使用第七课 Infosphere Datastage 自定义公共组件与过程第八课 Infosphere Datastage 作业序列和作业控制第九课 Infosphere Datastage 作业调试、调度与监控第十课 Infosphere Datastage 数据血源分析第十一课 Infosphere Datastage 性能调优和最佳实践第十二课 Infosphere Datastage 实战案例分享授课对象:本课程由浅入深,循序渐进地介绍DataStage的基本原理和开发实践,主要面向DataStage 的初学者以及基础开发运维人员。
IBM-DataStage技能培训

DataStage存储过程的调用(方法一)
可以通过SQL语句块调用存储过程
DataStage存储过程的调用(方法二)
两种调用比较:第一种简 单明了,但是取不到存储 过程的返回值;第二种方 法比较复杂,下去可以在 测试环境搞搞。
DS备份(导出)
可以选择不同的对象进行备份,一般建议完全备份,选择Whole project
候开始执行后面的序列
erVariables_Activity:自定义参数控件,可以定义全局参数,
供整个JOB引用
6.Routine_Activity:调用封装好的Routine,Routine类似于SQL中
的存储过程。 Demo: SEQ_POL_MAIN
一个数据抽取转换装载的实例 Demo: CopyCopyPjob_PRIP_LJTEMPFEE 实例目的:暂收费表,根据中保信二期逻辑改造而来,介绍Prallel
专业程度如Datastage旗鼓相当,也是图形化界面开发,很多控件的功能与Datastage 相似,价格似乎比Datastage便宜,可以在Window、Linux、Unix、Aix等多个环境上运 行。
• Kettle
Kettle 中文名叫水壶,纯java编写的开源ETL工具,开源当然就免费,免费的有些东西 使用就不是很方便,很多功能需要结合Java开发,可以在Window、Linux、Unix、Aix 上运行,数据抽取高效稳定。
• ODI
Oracle数据库厂商提供的工具,有局限性,与oracle数据库耦合太深
完备的开发环境
IBM WebSphere DataStage 的开发环境是基于 C/S 模式 的,通过 DataStage Client 连接到DataStage Server 上 进行开发,DataStage Server 支持多种平台,比如 Windows、Redhat Linux、 IBM AIX 、HP-UNIX等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、工具入门DataStage是一个ETL的工具,就是对数据的抽取,转换,加载。
个人通俗的理解就是一个对数据进行处理,提取的工具,这里面的数据大部分是以数据库中表的格式存在着的,所以如果要使用这个工具,首先必须对关系数据库的一些基本概念要有所了解,比如最基本的字段,键,记录等概念。
DataStage是通过设计job来实现ETL的功能的。
Job的设计跟普通的IDE设计一样,通过拖拽控件,并填加脚本来完成。
这里的控件称为stage,每一个不同的stage都有不同的数据处理的功能,将各个stage通过一定的方式组合起来,设计成job,对job进行编译,运行,就能够实现对数据抽取转换加载。
1,安装datastage,看学习指导,先对该工具有个大概的认识,大概知道administrator,design,director,manager的区别。
了解datastage工具的主要用途:简单的说就是把一批数据input进来,经过各种各样的转化,清洗,然后在output出去,整个就是ETL 的过程。
对4个工具我们最常做的操作有:Administrator:1、对Project的管理,主要是建立和删除project;2、对Licensing的管理,主要是更换Licensing。
design:datastage的核心,所有的开发都在design里面完成,在这里可以编辑你的job,使用各种stage控件。
director:1、查看日志,当运行job结束时,无论job成功或者失败,我们都可以在director 里面查看日志,里面能反映我们job运行的状态,经常job出错我们都是先查看日志,然后分析原因,再到design里面修改。
2、director的另外一个很有用的功能是logout job,当服务器或者网络出问题时,正在编辑的job很有可能被锁定,这时你就算把design关了再重新登陆还是无法打开job,会提示job has been used, 这就需要到director里面把job logout,然后就可以使用了。
manage:manage的最主要的功能是可以对design里面的资源进行导入导出,当我们要把开发的job从一台机器转移到另外一台机器时,就需要用到。
二、开始学习使用design,做一些简单的job,接触几个常用的stage。
做练习1的1-2至4-2的练习,练习中用到的Oracle组件全部用sequence file 代替,1-2练习中会教你导入练习所要用到的表的结构,练习中要用到的数据文件放在数据及表定义目录下。
(表定义可以通过manage工具导入,但是数据文件必须自己手工导入,所以开发前请先将数据及表定义目录下面的所有.txt的数据文件导到你所使用的datastage的开发环境上,导数据文件的方法可以使用ftp工具)要设计job的关键,就在于能够熟悉每个不同的stage并且能够灵活运用。
在文档和指导中有对每个控件的使用方法作了图文并茂的说明,但是教材语言的一个缺点就是太过形式化,所以有些概念不能够很好的理解。
比如lookup这个stage我在看教材的时候就没有太了解。
所以,我就结合自己,用自己的语言对一些比较常用的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规则,把这些不符合规范的记录挑出来送到一个文件里面。
而其他符合要求继续往下一步走,继续进行处理。
第2阶段的目标:经过这一阶段,应该熟悉datastage的使用,包括在第一阶段中说明的administrator, design, director, manage中常用的步骤都要学会使用。
三、开发一些复杂的job,加强datastage的熟练程度完成练习2里面的前6个job,本阶段的job有一定难度,建议做的时候,特别是遇到不知道要如何解决的问题的时候,多与有经验的开发人员交流,快速上手。
第3阶段的目标:经过这一阶段应该对datastage的开发较为熟悉,对transformer和lookup必须应用熟练,能独立的解决一些问题,包括编译无法通过的查错,运行失败的查错等等。
四:熟悉ODS开发流程(一)熟悉ODS开发的业务,包括熟悉需求,熟悉ETL设计框架,直至理解整个逻辑设计模型。
本阶段建议开2次培训,第一次为ODS开发简要介绍,以及需求分析的格式介绍。
第二次以逻辑设计模型为基础,介绍整个ETL设计框架。
经过本阶段,必须达到可以根据需求做出逻辑设计模型的水平。
本阶段目标:1、需求文档的熟悉(1)从需求中能看出每个job所需要的原表,和所对应的目标表,以及源到目标是一对一,还是多对一,如果是多对一还必须理解多张表是怎样关联成一张表的。
(2)理解需求中的所有字段映射关系,各种映射关系需要如何处理。
(3)理解需求中的一些特殊处理,如对某些特定条件进行过滤,对某个特殊字段进行处理等。
2、熟悉ETL设计框架,参见《ETL设计框架说明》文档。
必须熟悉下面2种转换的框架,清楚每个模块的功能。
含有codestring转换:不含codestring转换(二)根据逻辑设计模型,进入正式的ODS开发,利用datastage工具进行物理设计。
建议先进行一到两次培训,内容包括:1、开发规范的说明,包括文件命名规则,参数命名规则,布局规则等。
2、各个公用模块的具体实现及做法,包括公用代码转换模块,warn入库模块,reject模块,控制文件模块,培训人员应着重说明各个公用模块的实现方法,包括用到哪些stage,具体的开发方法,以及一些需要注意的事项。
3、参数配置规则,包括如何进行配置,如何生成配置文件,如何在命令行方式下run job。
本阶段可参考的文挡:《代码转换说明》,《ODS命名规范》,《JobSequence设计流程说明》阶段练习:1、先完成一个全量初始化的job, 具体为pmis 的cxloanbal表全量初始化。
2、完成一个标准作业,具体为ff2349_refas_ecif(也可以选择其他job,但必须保证源到ODS,源到目标都至少有2个字段需要做公用代码转换)。
练习目标:要求整个开发必须严格遵守开发规范,开发完成后必须进行作业配置,在命令行下runjob,任意选取一天的数据,先运行自己开发的job,再运行已经提交的正确的job,将2次结果用diff命令比较,若发现结果不一致,则需要检查自己的job,直至2次结果完全一致。
测试可以参照《单元测试检查点》文档进行。