datastage入门教程

datastage入门教程
datastage入门教程

简介

DataStage 使用了Client-Server 架构,服务器端存储所有的项目和元数据,客户端DataStage Designer 为整个ETL 过程提供了一个图形化的开发环境,用所见即所得的方式设计数据的抽取清洗转换整合和加载的过程。Datastage 的可运行单元是Datastage Job ,用户在Designer 中对Datastage Job 的进行设计和开发。

Datastage 中的Job 分为Server Job, Parallel Job 和Mainframe Job ,其中

Mainframe Job 专供大型机上用,常用到的Job 为Server Job 和Parallel Job 。

本文将介绍如何使用Server Job 和Parallel Job 进行ETL 开发。

Server Job

一个Job 就是一个Datastage 的可运行单元。Server Job 是最简单常用的Job 类型,它使用拖拽的方式将基本的设计单元-Stage 拖拽到工作区中,并通过连线的方式代表数据的流向。通过Server Job,可以实现以下功能。

1.定义数据如何抽取

2.定义数据流程

3.定义数据的集合

4.定义数据的转换

5.定义数据的约束条件

6.定义数据的聚载

7.定义数据的写入

Parallel Job

Server Job 简单而强大,适合快速开发ETL 流程。Parallel Job 与Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下可以迅速提高数据处理效率。Parallel Job 中包含更多的Stage 并用于不同的需求,每种Stage 使用上的限制也往往大于Server Job。

Sequence Job

Sequence Job 用于Job 之间的协同控制,使用图形化的方式来将多个Job 汇集在一起,并指定了Job 之间的执行顺序,逻辑关系和出错处理等。

数据源的连接

DataStage 能够直接连接非常多的数据源,应用范围非常大,可连接的数据源包括:

?文本文件

?XML 文件

?企业应用程序,比如SAP 、PeopleSoft 、Siebel 、Oracle Application

?几乎所有的数据库系统,比如DB2 、Oracle 、SQL Server 、Sybase ASE/IQ 、Teradata 、Informix 以及可通过ODBC 连接的数据库等

?Web Services

?SAS 、WebSphere MQ

Server Job

Server Job 中的Stage 综述

Stage 是构成Datastage Job 的基本元素,在Server Job 中,Stage 可分为以下五种:

1.General

2.Database

3.File

4.Processing

5.Real Time

本节中将介绍如何使用Datastage 开发一个Server Job。如图 1 所示:

图 1. Server Job

点击查看大图

Sequential File Stage

Sequential File Stage 可用来从一个Sequential 文件中获取源数据或将数据加载到一个Sequential 文件中。在使用Sequential File Stage 时需要指定文件的路径和名称,文件的格式,列的定义和文件写入的类型(覆盖或追加)。

图 2. Sequential File 属性框

点击查看大图

图 3. Sequential File 列定义

点击查看大图

上图是本节例子中使用到的Sequence File。在Input 页中,File Name 参数代表文件的实际路径,如果文件不存在将会被自动建立。Update Action 中选择Overwrite existing file 表示此文件在加载数据之前将被清空;在Format 页中,定义文件的格式,例如分隔符,NULL 值,首行是否为列定义等;在Column 页中,需要输入文件的列定义。

Hash File Stage

Hash File 以主键将记录分成一个或多个部分的文件,在Datastage 中通常被用做参考查找。在进行参考查找的时候,Hash File 文件会被加载到内存中,因此具有较高的查找效率。

和Sequence File 类似,使用Hash File 时需要输入文件的实际地址,通过参数设置写入时的选项,并提供数据的列定义。需要注意的是,Hash File 需要指定主键,如果未指定,第一列被默认为主键。进行参数查找时,使用主键值在Hash File 中搜索,如果找到则返回该数据,如果未找到则返回NULL 值。

图 4. Hash File 属性框

点击查看大图

Transformer Stage

Transformer Stage 是一个重要的,功能强大的Stage。它负责ETL 过程中的数据转换操作。在Transformer Stage 中可以指定数据的来源和目的地,匹配对应输入字段和输出字段,并指定转换规则和约束条件。

图 5. Transformer Stage 列映射

点击查看大图

Transformer Stage 中分为5 个区域:

左上方区域,是用表格形式描述的输入数据信息。如果有多条输入数据流,则有很多表格。本例中有一个输入,一个参照查询,因此左上方有两个表格。

右上方区域,是用表格形式描述的输出信息。

左下方区域为输入的元数据列定义,包括列名,类型和长度等属性。

右下方区域为输出的元数据列定义,包括列名,类型和长度等属性。

左上方和右上方的表格由带有流向的箭头连接,代表了字段的对应关系。此例中,输入的数据只有一个字段EMPLOYEE_ID,通过此字段在Hash File 中进行参照查找,获取EMPLOYEE_NAME 字段。如果在Hash File 中找到了EMPLOYEE_NAME 则将数据发送到输出端,这个条件是通过Transformer Stage 提高的约束功能实现,我们在约束中的定义为

NOT(ISNULL(lkp_name.EMPLOYEE_ID))。另外无论是否在Hash File 中查找到对应的数据,我们都将数据记录到一个csv 文件中,即对应的save_all 输出。Parallel Job

Parallel Job 的Stage 综述

与Server job 相比,Parallel Job 提供了更丰富的stage,增加了

Development/Debug,Restructure 和Transactional 类的stage。同时,对于一些在server job 中可以在transformer 中完成的功能,Parallel job 也提供了专用的stage 以提高运行性能和开发效率,比如lookup,join,Compare 等。另外一个显著的区别是在Parallel Job 中内置地支持job 的并行运行,并行执行也就意味着数据在job 中的各个stage 见处理时需要处理partition 和combination 的问题,所以在开发job 时,我们需要设定partition 和combination 的策略。

Lookup DataSet 与Lookup Stage

Parallel Job 对lookup 的实现做了一些调整,在Server Job 中,我们一般是用Transformer Stage 配合lookup 数据源(一般是hash 文件)来实现lookup,同一个transformer 中可以同时完成多个lookup,类似于sql 中的多表自然联接,如果lookup 数据源使用的是database stage 而不是hash file 而且对于一条记录返回多条lookup data 的话,job 会产生warning(hash file 的键唯一特性使得它不会存在这个问题,后面插入的重复数据会覆盖前面的同主键的数据)。

而在Parallel Job 中,lookup 需要用一个单独的stage 来实现,transformer 不再兼职lookup 的“副业”,在一个lookup stage 中,可以有一个主数据link 和多个lookup link。同时,Parallel 中的lookup 还有以下的新特性

?支持multi rows,在一个lookup stage 中对于一行主输入数据可以有一个lookup link 返回多于一行的lookup 数据。结果也会变成多行。

?Parallel 中不在支持hash file,转而使用封装更强的Data Set stage, Data Set 本质上也是hash 数据结构,但对Job 开发人员隐藏了实现细节,我们不用象开发Server Job 那样去手动设定详细参数

?Parallel 中除了支持等值lookup 外,还直接支持Range lookup 和Caseless lookup。这样我们在完成类似月份转换为季度性质的设计时就会非常的方便和自然。

类似于Server Job 中的hash 文件,在Parallel Job 中我们使用Data Set 文件来缓存lookup 数据,并加载到内存中,在Data Set stage 中,我们只需要制定记录的主键和存储的文件名,Parallel 引擎会为我们处理其他的操作。但为了达到性能的最优化,我们有时需要制定Data Set 的缓存策略和缓存大小,系统默认的缓存大小是3M,如果我们的lookup 数据比较大,就需要设定合适的缓存大小,否则会严重影响lookup 的性能。

图 6. DataSet 缓存设置

点击查看大图

Sort Stage

Parallel Sort stage 的行为类似于Sql 中的order by,但是比order by 提供了更多的选项。在job 中,Sort stage 接收一个输入link 并产生一个输出link。对于写过sql order by 或者排序程序的开发人员使用Sort Stage 的基本功能应该是很简单的,但是要充分发挥Parallel stage 的强大功能,我们还是需要注意下面几点:

?并行还是串行执行,如果选择串行执行,那么Sort stage 的行为就类似于Server Job 中的Sort Stage,整个输入数据都会按照设定的排序选项排序,但如果选择分区/ 并行排序,则只有每个分区内的输出是有序的,这在有些情况下是可以接受的,但在另外一些情况下会导致代码缺陷,需要根据sort 的后续操作做出选择。

?如果有可能,尽量在数据源端的数据库中进行排序,这样不但会提高数据排序的效率,还能大大减少job 对内存,I/O 的压力。Sort stage 只有在接收完输入之后才能完成排序,进而输出数据,使得job 的后续stage 都处于等待状态。

?类似于order by 后面的字段列表,我们可以指定排序的方向,是升序还是降序,Sort Stage 也可以指定对多个字段进行排序,排在前面的column 称为主排序字段,如果排序字段中有某一个或几个字段已经是有序的,我么也可以指定其为有序,这样在排序的时候就可以提高排序的效率。

?稳定排序(stable sort)/ 允许重复,stable sort 默认是yes,这样如果两条记录sort key 相同的话,排序的输出和输入顺序将是相同的,如果没有选择允许重复,两条或者多条记录的sort key 相同的话,将只保留一条记录。

?限制内存的使用,数据的排序操作是非常耗费内存的,如果不加限制,让所有的数据的排序都在内存中完成的话,job 的其他操作或者其他job 的执行的效率将受到严重影响,所有在Sort Stage 中,我们可以设定此排序可以使用的最大内存数(M),这样我们在可以接受的排序效率和使用的内存数量之间找到平衡点。

Compare/Difference/Change Capture Stage

Compare, Difference 和 Change Capture Stage 是 Parallel job 中三个用于比较数据集合异同的 stage ,对于这三个 stage 本身的使用没有太多困难的地方,基本的参数和设置都很简明直观,我们的介绍主要集中在这三个 stage 在使用中的相同点和不同点上,一旦了解了这些 stage 的特点,使用的时候不但能根据需求选择正确的 stage ,也能根据 stage 特性知道需要设置哪些参数。

相同点:

?

都有两个输入,产生一个输出,

? 输入的数据主键的字段名相同,都需要指定需要比较的字段。

? 产生的结果数据中都会增加一个整型的结果字段,用于表示两行数据的比较结果 不同点:

?

Capture Change Stage 输出的是以 after 输入流为基础,外加 change code 字段,适合和 change apply 配合使用,把 before 输入流同步为和 after 一样。 ? Difference Stage 的输出是以 before 输入流为基础,外加 change code 字段 ? Compare Stage 产生的结果包括 before 和 after ,以及 change code 字段 下面是一个 Capture Change Stage 的示例:

图 7. Capture Change Stage 的示例

点击查看大图

1 2 Before source Sql: SELECT k,v

FROM (values

3 4 5 6 7 (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10)) as temp(k,v) order by k asc

After source Sql: SELECT k,v

FROM (values

(1,1),(2,2),(11,11),(4,5),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10)) as temp(k,v) order by k asc 图 8. Capture Change Stage 参数设置

点击查看大图

从以上设置可以看到,我们选择了明确指定主键,剩余 column 都当作 value ,对于比较的结果,如果结果相同,则从结果中删除,也就是我们只希望看到对 Before 数据做 Delete ,Edit ,和 insert 后产生的差异,下图是我们 job 运行得到的结果:

图 9. Comparsion 结果

从以上的结果可以看到,before 和 after 数据有三处差异,change_code 的值对应为 2,3,1。分别表示对 before 执行 Delete ,Update ,Insert 产生的差异。

要同步这些差异,我们只需要对before 数据执行相应的Delete,Update 和Insert 即可实现两个数据集合的同步。

Filter Stage

Filter Stage 顾名思义是一个用于过滤的Stage,其作用类似于我们写sql 中的where 子句,而且其支持的逻辑表达式和运算符也类似于sql 语句的where 子句,比如,在filter stage 中,我们可以使用以下常见的逻辑表达式和运算符以及其组合,

?true 和false

?六个比较运算符: =, <>, <, >, <=, >=

?is null 和is not null

?like 和between

从其语法作用上看,则类似于java 或者 C 语言中的switch case 语句,我们可以通过设置“Output Row Only Once”选项的值来决定是否在每个case when 子句后面是否添加break,通过添加或者删除“Reject Link”来确定是否添加一个

default 子句. 下面是一个简单的例子。展示了我们如何通过员工编号和薪水的组合条件来过滤员工的记录到不同的结果文件的。

图10. Filter Stage 的示例

点击查看大图

图11. Filter Stage 的设置

点击查看大图

对于每一个where 条件,我们需要设置相应的输出链接,这是一个整型数字,我们可以在“Link Ordering”页签上找到输出链接的编号和名称之间的对应关系。

另外需要注意的一点是,Filter Stage 不对输入的记录做任何改动,只做分发。

但是你可以手动设置输出的column,使得每个输出的column 列表不一样,但只要是输入column 列表的子集即可,但是对于Reject Link, Column 列表是默认完全等同于输入的,且不可更改。

用于调试的Stages

我们知道DataStage Server Job 中提供了Debug 功能,我们在开发过程中遇到问题的时候可以让Job 运行在debug 模式下,仔细查看每行数据在Job 中各个Stage 之间的流动和转换情况,但Parallel Job 并没有给我们提供调试功能,但Parallel Job 用另外一种方式提供了调试的能力:Parallel Job 内置了用于调试的Stage,使用这些Stage,我们可以按照我们的需要,把我们怀疑有问题的中间数据输出,进而可以深入查找问题的根源。在Parallel Job 中提供了以下的Stage 用于调试:

?Head Stage

?Tail Stage

?Sample Stage

?Peek Stage

?Row Generator Stage

?Column Generator Stage

我们以一个 peek 的实例展示一下 development/debug Stage 的使用,其他的 Stage 的用法类似,可以参见后面的表格和文档。如下图是我们的 Job ,DB2 Stage 的 Source Sql 如下:

1 2 3 SELECT k,v FROM (values

(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),

(10,10),(11,11),(12,12),(13,13),(14,14),(15,15),(16,16),(17,17),(18,18),(19,19),(20,20) )

as temp(k,v) 图 12. Peek Job

的示例

点击查看大图

图 13. Peek Stage 的设置

点击查看大图

图14. Peek 的结果

点击查看大图

下表简述了这些Stage 的特点和用法表 1. Stage 的特点和用法

Stage 类型用途

Head Stage 从头部开始抓取输入流的数据一个输入一个输出

Tail Stage 抓取输入流尾部的N 行数据一个输入一个输出

Sample Stage 一个输入,多个输出根据设置的策略从输入流的各个分区抓取数据,每个输出的百分比设置

Peek Stage 从一个数据流中有选择地“偷窥”流经的数据,一个输入,两个输出,一个输出输入数据,一个输出生成一个文本,包含“偷窥到的数据”

Row Generator

Stage 根据定义的数据schema,生成模拟数据,无需输入,一个输出

Column Generator

Stage 在一个输入流上添加新的column,为这些新添加的或原有的column 生成模Sequence Job

如果说每个个Server Job 或Parallel Job 完成ETL 流程中的一个数据抽取,转

换,加载的子过程的话,那么Sequence Job 的作用就是把这些子过程给串联起

来,形成一个完整的全局的ETL 过程。从结构上看,一个Sequence Job 类似

于一个C 或者Java 语言的一个函数,但功能更为强大。

可以使用UserVariables Activity Stage 定义局部变量,变量在定义的时候需要赋值,赋值表达式可以是系统变量,Job 参数,Datastage 的宏,常量,Routine 的

返回结果等,还可以是这些单独变量的条件,数学或者字符串运算后的结果。几乎你在一个函数中能完成的局部变量定义的功能这儿都能实现。下面的示例定义了六个变量。

?可以调用其他的功能模块,通过Job Activity Stage 可以调用Server Job,Parallel Job;通过Execute Command Stage 调用unix/windows cmd,通过Routine

Activity 支持调用datastage routine。

?支持循环,Sequence Job 通过StartLoop Activity Stage 和EndLoop Activity Stage 提供了循环的功能。循环变量可以是基于起始值,结束值和步长的整数循环,也可以基于给定的列表进行循环,还可以把这些循环中的临时变量传递给每个具体的循环步骤。在StartLoop Activity Stage 和EndLoop Activity Stage 之间,可以加入任意多个的

?支持逻辑运算,Nested Condition Stage 支持类似switch 的逻辑,Sequencer Stage 支持与和或的逻辑运算,通过这些Stage 的组合,可以支持任意复杂的逻辑控制。

?支持email 通知,使用Notification Stage,在job 运行成功,失败或者满足其他设定条件时,Sequence Job 可以发送一封或者多封的通知邮件,使我们可以更方便地监控Job 的运行状态,邮件的内容可以包含job 的运行状态,当前的参数等等,凡是可以在User Variables Stage 中引用的变量都可以包含在邮件中,同时还可以包含我们指定的文件和Sequence Job 的运行状态等。

?支持错误处理和现场清理,使用Terminator Activity Stage 和Exception Handler Stage,我们可以定义需要处理的错误,并在错误发生的使用根据定义的策略停止不必要的Job 运行。

?通过Wait for File Activity Stage 可以支持等待时间,我们可以定义只有某个信号文件出现或者消失的时候才开始启动Wait for File Activity Stage 后续的执行。

下面的图展示了一个简单的Sequence Job,在Job 的开始,我们定义一组变量,这些变量在我们循环和发送通知邮件的时候将会被引用。然后利用Job 参数

yearlist 开始循环,每一个循环里面我们调用一次Job extract_trans, 如果这个job 调用执行不成功,我们就发邮件通知Job 运行失败,否则进入下一个循环,在循环结束后,发邮件通知Sequence Job 运行成功

图15. Job 全景

点击查看大图

图16. 定义的变量

点击查看大图

图17. StartLoop Stage 的定义

点击查看大图

图18. Job Activity Triggers 定义

点击查看大图

总结

Server Job 和Parallel Job 是Datastage 中最重要的两种Job,Server Job 使用简单,容易上手,但不具有内置的并行执行功能;Parallel Job 提供了更丰富的特性和Stage 供使用,更为重要的是它提供了内置的并行机制,使开发人员不必关心具体的并行执行问题,在大数据量的条件下能随着硬件的增加几乎线性地提高性能。Sequence 则为开发人员提供了对ETL 流程精细的控制能力,同时,它也使得Server Job 和Parallel Job 能集成在一起,各司其职,形成完美的配合。

Datastage 安装后启动was失败

按照安装教程安装虚拟机版的datastage 8.7后,使用命令启动was失败 [plain]view plain copy https://www.360docs.net/doc/4e8954086.html,srvr:~ # /opt/IBM/WebSphere/AppServer/bin/startServer.sh server1 2.ADMU0116I: Tool information is being logged in file 3. /opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs/server1/sta rtServer.log 4.ADMU0128I: Starting tool with the InfoSphere profile 5.ADMU3100I: Reading configuration for server: server1 6.ADMU3200I: Server launched. Waiting for initialization status. 7.ADMU3011E: Server launched but failed initialization. startServer.log, 8. SystemOut.log(or job log in zOS) and other log files under 9. /opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs/server1 sho uld 10. contain failure information. 按照提示查看报错日志: [html]view plain copy https://www.360docs.net/doc/4e8954086.html,srvr:/opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs/server1 # tai l -100 SystemErr.log 2. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 3. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorI mpl.java:60) 4. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodA ccessorImpl.java:37) 5. at https://www.360docs.net/doc/4e8954086.html,ng.reflect.Method.invoke(Method.java:611) 6. at https://www.360docs.net/doc/4e8954086.html,uncher.Main.invokeFramework(Main.java:340) 7. at https://www.360docs.net/doc/4e8954086.html,uncher.Main.basicRun(Main.java:282) 8. at https://www.360docs.net/doc/4e8954086.html,uncher.Main.run(Main.java:981) 9. at https://www.360docs.net/doc/4e8954086.html,unchEclipse(WSPreLauncher .java:340) 10. at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:110 ) 11.Caused by: https://www.360docs.net/doc/4e8954086.html,.ascential.xmeta.repository.core.CoreRepositoryException: Error initializ ing persistence manager module 13. at com.ascential.xmeta.repository.core.impl.DefaultSandbox.(De faultSandbox.java:70) 14. at https://www.360docs.net/doc/4e8954086.html,ng.J9VMInternals.newInstanceImpl(Native Method)

etl教程

ETL本质 做数据仓库系统,ETL是关键的一环。说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具。回忆一下工作这么些年来,处理数据迁移、转换的工作倒还真的不少。但是那些工作基本上是一次性工作或者很小数据量,使用access、DTS或是自己编个小程序搞定。可是在数据仓库系统中,ETL上升到了一定的理论高度,和原来小打小闹的工具使用不同了。究竟什么不同,从名字上就可以看到,人家已经将倒数据的过程分成3个步骤,E、T、L分别代表抽取、转换和装载。 其实ETL过程就是数据流动的过程,从不同的数据源流向不同的目标数据。但在数据仓库中,ETL 有几个特点,一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时ETL的概念。二是数据量,一般都是巨大的,值得你将数据流动的过程拆分成E、T和L。 现在有很多成熟的工具提供ETL功能,例如datastage、powermart等,且不说他们的好坏。从应用角度来说,ETL的过程其实不是非常复杂,这些工具给数据仓库工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。举个例子,VB是一种非常简单的语言并且也是非常易用的编程工具,上手特别快,但是真正VB的高手有多少?微软设计的产品通常有个原则是“将使用者当作傻瓜”,在这个原则下,微软的东西确实非常好用,但是对于开发者,如果你自己也将自己当作傻瓜,那就真的傻了。ETL工具也是一样,这些工具为我们提供图形化界面,让我们将主要的精力放在规则上,以期提高开发效率。从使用效果来说,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得他的整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求ETL的本质。 可以说这些工具应用了这么长时间,在这么多项目、环境中应用,它必然有它成功之处,它必定体现了ETL的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。大家都知道“理论与实践相结合”,如果在一个领域有所超越,必须要在理论水平上达到一定的高度 探求ETL本质之一 ETL的过程就是数据流动的过程,从不同异构数据源流向统一的目标数据。其间,数据的抽取、清洗、转换和装载形成串行或并行的过程。ETL的核心还是在于T这个过程,也就是转换,而抽取和装载一般可以作为转换的输入和输出,或者,它们作为一个单独的部件,其复杂度没有转换部件高。和OLTP系统中不同,那里充满这单条记录的insert、update和select等操作,ETL过程一般都是批量操作,例如它的装载多采用批量装载工具,一般都是DBMS系统自身附带的工具,例如Oracle SQLLoader和DB2的autoloader 等。 ETL本身有一些特点,在一些工具中都有体现,下面以datastage和powermart举例来说。 1、静态的ETL单元和动态的ETL单元实例;一次转换指明了某种格式的数据如何格式化成另一种格式的数据,对于数据源的物理形式在设计时可以不用指定,它可以在运行时,当这个ETL单元创建一个实例时才指定。对于静态和动态的ETL单元,Datastage没有严格区分,它的一个Job就是实现这个功能,在早期版本,一个Job同时不能运行两次,所以一个Job相当于一个实例,在后期版本,它支持multiple instances,而且还不是默认选项。Powermart中将这两个概念加以区分,静态的叫做Mapping,动态运行时叫做Session。 2、ETL元数据;元数据是描述数据的数据,他的含义非常广泛,这里仅指ETL的元数据。主要包括每次转换前后的数据结构和转换的规则。ETL元数据还包括形式参数的管理,形式参数的ETL单元定义的参数,相对还有实参,它是运行时指定的参数,实参不在元数据管理范围之内。

主流BI产品对比

国际主流BI产品对比

厂商产品及简介 国际厂商(主要) MicroStrategy MSTR ,国际专业BI 产品,覆盖BI 全部领域 IBM DB2以及Cognos 、SPSS 、DataStage ,覆盖BI 全部领域Oracle BIEE 、Hyperion ,覆盖BI 全部领域,数据挖掘领域有待加强 Microsoft SQLServer ,覆盖BI 全部领域,适合中小型企业,性价比高 SAP BusinessObjects 、CrystalReports 主要是报表领域和数据集成领域 国际BI 市场主要厂商

BI 产品纷纷嫁入豪门: 2007年11月,IBM收购Cognos 2008年4月,Oracle收购Hyperion 2010年10月,SAP收购Business Objects BI 产品国际阵营谁是幸存者: 目前BI产品第一阵营的唯一幸存者只有MicroStrategy,超过20年的专业技术和市场积累,让这个在巨头环伺下的BI行业领军产品一直保持着一枝独秀的良好态势。

厂商名称目标客户群 MicroStrategy金融、电信、政府、石油、电力等高端行业的高端应用,尤 其适合于数据量大,用户分布广泛的行业应用特点 SAP/BO BO定位于SAP ERP的已有用户优先实施,其它则通过OEM或 各种集成商,价格较高,不适用于中小企业 IBM/Cognos通过OEM和集成商进军企业客户,公司本身则注重已有的金 融、电信、政务领域客户 Microsoft适用于中小企业,依靠合作伙伴 Oracle基于Oracle数据库庞大的客户群,注重大型用户,但内部产 品有竞争关系 国际主流BI产品基本都已被IT业界巨头并购,技术路线及商务策略缺乏独立性,除MicroStrategy之外都缺乏BI产品技术发展方向的独立规划。

datastage入门教程

简介 DataStage 使用了Client-Server 架构,服务器端存储所有的项目和元数据,客户端DataStage Designer 为整个ETL 过程提供了一个图形化的开发环境,用所见即所得的方式设计数据的抽取清洗转换整合和加载的过程。Datastage 的可运行单元是Datastage Job ,用户在Designer 中对Datastage Job 的进行设计和开发。 Datastage 中的Job 分为Server Job, Parallel Job 和Mainframe Job ,其中 Mainframe Job 专供大型机上用,常用到的Job 为Server Job 和Parallel Job 。 本文将介绍如何使用Server Job 和Parallel Job 进行ETL 开发。 Server Job 一个Job 就是一个Datastage 的可运行单元。Server Job 是最简单常用的Job 类型,它使用拖拽的方式将基本的设计单元-Stage 拖拽到工作区中,并通过连线的方式代表数据的流向。通过Server Job,可以实现以下功能。 1.定义数据如何抽取 2.定义数据流程 3.定义数据的集合 4.定义数据的转换 5.定义数据的约束条件 6.定义数据的聚载 7.定义数据的写入 Parallel Job Server Job 简单而强大,适合快速开发ETL 流程。Parallel Job 与Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下可以迅速提高数据处理效率。Parallel Job 中包含更多的Stage 并用于不同的需求,每种Stage 使用上的限制也往往大于Server Job。 Sequence Job Sequence Job 用于Job 之间的协同控制,使用图形化的方式来将多个Job 汇集在一起,并指定了Job 之间的执行顺序,逻辑关系和出错处理等。 数据源的连接 DataStage 能够直接连接非常多的数据源,应用范围非常大,可连接的数据源包括: ?文本文件 ?XML 文件

datastage入门培训

一、工具入门 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:这个控件实际上是指代主机上面的一个文件,在它的属性中可以选定文件的路径,目录。一般这些文件都是以类似数据库表的格式存在的。使用这个控

datastage入门教程

简介 DataStage 使用了 Client-Server 架构,服务器端存储所有的项目和元数据,客户端 DataStage Designer 为整个 ETL 过程提供了一个图形化的开发环境,用所见即所得的方式设计数据的抽取清洗转换整合和加载的过程。Datastage 的可运行单元是 Datastage Job ,用户在 Designer 中对 Datastage Job 的进行设计和开发。Datastage 中的 Job 分为 Server Job, Parallel Job 和 Mainframe Job ,其中 Mainframe Job 专供大型机上用,常用到的 Job 为Server Job 和 Parallel Job 。本文将介绍如何使用 Server Job 和 Parallel Job 进行 ETL 开发。 Server Job 一个 Job 就是一个 Datastage 的可运行单元。Server Job 是最简单常用的Job 类型,它使用拖拽的方式将基本的设计单元 -Stage 拖拽到工作区中,并通过连线的方式代表数据的流向。通过 Server Job,可以实现以下功能。 1.定义数据如何抽取 2.定义数据流程 3.定义数据的集合 4.定义数据的转换 5.定义数据的约束条件 6.定义数据的聚载 7.定义数据的写入 Parallel Job Server Job 简单而强大,适合快速开发 ETL 流程。Parallel Job 与 Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下可以迅速提高数据处理效率。Parallel Job 中包含更多的 Stage 并用于不同的需求,每种 Stage 使用上的限制也往往大于 Server Job。 Sequence Job Sequence Job 用于 Job 之间的协同控制,使用图形化的方式来将多个 Job 汇集在一起,并指定了 Job 之间的执行顺序,逻辑关系和出错处理等。 数据源的连接 DataStage 能够直接连接非常多的数据源,应用围非常大,可连接的数据源包括:

datastage教程

1、【第一章】datastage简介与工作原理 1、简介 数据中心(数据仓库)中的数据来自于多种业务数据源,这些数据源可能是不同硬件平台上,使用不同的操作系统,数据模型也相差很远,因而数据以不同的方式存在不同的数据库中。如何获取并向数据中心(数据仓库)加载这些数据量大、种类多的数据,已成为建立数据中心(数据仓库)所面临的一个关键问题。针对目前系统的数据来源复杂,而且分析应用尚未成型的现状,专业的数据抽取、转换和装载工具DataStage是最好的选择。 Websphere DataStage 是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据中心(数据仓库)目标数据库的集成工具。 DataStage 能够处理多种数据源的数据,包括主机系统的大型数据库、开放系统上的关系数据库和普通的文件系统等,以下列出它所能处理的主要 数据源: 大型主机系统数据库:IMS,DB2,ADABAS,VSAM 等 开放系统的关系数据库:Informix,Oracle,Sybase,DB2,Microsoft SQL Server等ERP 系统:SAP/R3,PeopleSoft系统等,普通文件和复杂文件系统,FTP 文件系统,XML等IIS,Netscape,Apache等Web服务器系统Outlook等Email系统。 DataStage 可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage 预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。

大数据处理综合处理服务平台的设计实现分析范文

大数据处理综合处理服务平台的设计与实现 (广州城市职业学院广东广州510405) 摘要:在信息技术高速发展的今天,金融业面临的竞争日趋激烈,信息的高度共享和数据的安全可靠是系统建设中优先考虑的问题。大数据综合处理服务平台支持灵活构建面向数据仓库、实现批量作业的原子化、参数化、操作简单化、流程可控化,并提供灵活、可自定义的程序接口,具有良好的可扩展性。该服务平台以SOA为基础,采用云计算的体系架构,整合多种ETL技术和不同的ETL工具,具有统一、高效、可拓展性。该系统整合金融机构的客户、合约、交易、财务、产品等主要业务数据,提供客户视图、客户关系管理、营销管理、财务分析、质量监控、风险预警、业务流程等功能模块。该研究与设计打破跨国厂商在金融软件方面的垄断地位,促进传统优势企业走新型信息化道路,充分实现了“资源共享、低投入、低消耗、低排放和高效率”,值得大力发展和推广。 关键词:面向金融,大数据,综合处理服务平台。 一、研究的意义 目前,全球IT行业讨论最多的两个议题,一个是大数据分析“Big Data”,一个是云计算“Cloud Computing”。中

国五大国有商业银行发展至今,积累了海量的业务数据,同时还不断的从外界收集数据。据IDC(国际数据公司)预测,用于云计算服务上的支出在接下来的5 年间可能会出现3 倍的增长,占据IT支出增长总量中25%的份额。目前企业的各种业务系统中数据从GB、TB到PB量级呈海量急速增长,相应的存储方式也从单机存储转变为网络存储。传统的信息处理技术和手段,如数据库技术往往只能单纯实现数据的录入、查询、统计等较低层次的功能,无法充分利用和及时更新海量数据,更难以进行综合研究,中国的金融行业也不例外。中国五大国有商业银行发展至今,积累了海量的业务数据,同时还不断的从外界收集数据。通过对不同来源,不同历史阶段的数据进行分析,银行可以甄别有价值潜力的客户群和发现未来金融市场的发展趋势,针对目标客户群的特点和金融市场的需求来研发有竞争力的理财产品。所以,银行对海量数据分析的需求是尤为迫切的。再有,在信息技术高速发展的今天,金融业面临的竞争日趋激烈,信息的高度共享和数据的安全可靠是系统建设中优先考虑的问题。随着国内银行业竞争的加剧,五大国有商业银行不断深化以客户为中心,以优质业务为核心的经营理念,这对银行自身系统的不断完善提出了更高的要求。而“云计算”技术的推出,将成为银行增强数据的安全性和加快信息共享的速度,提高服务质量、降低成本和赢得竞争优势的一大选择。

Datastage 培训资料

Datastage培训 1.什么是Datastage? 设计jobs 抽取(Extraction)、转换(Transformation)、装载(Loading)即ETL 数据整合项目工具,如数据仓库、数据集市和系统移植。 DataStage的框架,如图-1: 图-1 在开发过程中是通过DataStage的四个客户端(DataStage Administrator如图-2, DataStage Manager如图-3, DataStage Designer如图-4, DataStage Director如图-5) 来进行工作的。 图-2 图-3 图-4 图-5 DataStage的基本开发流程: 1.在Administrator中新建工程、定义全局和工程属性 2.在Manager中导入元数据 3.在Designer中定义job 4.在Designer中编译job 5. 在Director中验证,运行,监控job 2.DataStage Administrator介绍 主要功能:对server进行一些常规的设置、用来执行管理任务,如建立DataStage用

户、新建和删除工程,设置工程的属性。 2.1.登陆 登陆后的界面: 在General标签中、可以看到当前server的版本是7.5.1.A,你也可以点击”NLS…”选择Client端的默认字符集。 2.2.新建工程 选择Projects标签,

在这里你可以选择Add按钮来新建一个工程“sjzh”如图: 该工程存放的目录为“/home/dsadm/Ascential/DataStage/Projects/sjzh”在这里我们选择系统的默认路径。选择“OK”就新建了一个工程,如图:

Datastage入门示例

Datastage介绍及示例 1 Datastage 简介 Datastage包含四大部件:Administrator、Manager、Designer、Director。 1.用DataStage Administrator 新建或者删除项目,设置项目的公共属性,比如权限。 2.用DataStage Designer 连接到指定的项目上进行Job的设计; 3.用DataStage Director 负责job的运行,监控等。例如设置设计好的job的调度时间。 4.用DataStage Manager 进行Job的备份等job的管理工作。 2 设计一个JOB示例 2.1 环境准备 目标:将源表中数据调度到目标表中去。 1 数据库:posuser/posuser@WHORADB , ip: 192.168.100.88 2 源表:a_test_from 3 目标表:a_test_to 两者表结构一样,代码参考: create table A_TEST_FROM ( ID INTEGER not null, CR_SHOP_NO CHAR(15), SHOP_NAME VARCHAR2(80), SHOP_TEL CHAR(20), YEAR_INCOME NUMBER(16,2), SHOP_CLOSE_DATE DATE, SHOP_OPEN_DATE DATE ); alter table A_TEST_FROM add constraint TEST primary key (ID); 4. 示例数据: insert into A_TEST_FROM (ID, CR_SHOP_NO, SHOP_NAME, SHOP_TEL, YEAR_INCOME, SHOP_CLOSE_DATE, SHOP_OPEN_DATE) values (24402, '105420580990038', '宜昌市云集门诊部', '82714596 ', 1000, to_date('01-05-2008', 'dd-mm-yyyy'), to_date('01-06-2008', 'dd-mm-yyyy')); insert into A_TEST_FROM (ID, CR_SHOP_NO, SHOP_NAME, SHOP_TEL, YEAR_INCOME, SHOP_CLOSE_DATE, SHOP_OPEN_DATE)

Datastage控件使用指南

Datastage 控件使用指南

目录 1. 引言 (1) 2. 常用STAGE使用说明 (1) 2.1.S EQUENTIAL F ILE S TAGE (1) 2.2.A NNOTATION (4) 2.3.C OLUMN E XPORT S TAGE (5) 2.4.C HANGE C APTURE S TAGE (7) 2.5.C OPY S TAGE (9) 2.6.F ILTER S TAGE (10) 2.7.F UNNEL S TAGE (11) 2.8.T ANSFORMER S TAGE (12) 2.9.S ORT S TAGE (13) 2.10.L OOK U P S TAGE (14) 2.11.J OIN S TAGE (14) 2.12.M ERGE S TAGE (16) 2.13.M ODIFY S TAGE (17) 2.14.D ATA S ET S TAGE (18) 2.15.F ILE S ET S TAGE (19) 2.16.L OOKUP F ILE S ET S TAGE (21) 2.17.O RACLE E NTERPRISE S TAGE (23) 2.18.A GGREGATOR S TAGE (24) 2.19.R EMOVE D UPLICATES S TAGE (26) 2.20.C OMPRESS S TAGE (27) 2.21.E XPAND S TAGE (28) 2.22.D IFFERENCE S TAGE (29) 2.23.C OMPARE S TAGE (31) 2.24.S WITCH S TAGE (32) 2.25.C OLUMN I MPORT S TAGE (33) 3. DATASTAGE MANAGER使用 (35) 3.1.导入导出J OB及其它组件 (35) 3.2.管理配置文件 (37) 4. DATASTAGE ADMINISTRATOR常用配置 (39) 4.1.设置T IME O UT时间 (39) 4.2.设置P ROJECT的属性 (40) 4.3.更新D ATA S TAGE S ERVER的L ICENSE和本地C LIENT的L ICENSE (41) 5. DATASTAGE DIRECTOR使用 (41) 5.1.察看J OB的状态,运行已经编译好的J OB (41) 5.2.将编译好的J OB加入计划任务 (44) 5.3.监控J OB的运行情况 (45)

有效教学视域下小学英语利用数字教育资源的模式

有效教学视域下小学英语利用数字教育资源的模式 发表时间:2019-06-24T11:00:16.000Z 来源:《成功》2019年第2期作者:周雪梅 [导读] 英语是小学教学中一门相对较新的学科,和语文数学不同,由于其诞生时期较晚,在教学模式并没有如语文或者数学一般有一套完善且行之有效的教学模式。本文探讨的方向,是数字教育资源在小学英语教学中而对运用,笔者将通过对信息技术在英语教学中的应用分析提出符合“有效教学”要求的教学模式。 南充市嘉陵区火花三小四川南充 637900 【摘要】英语是小学教学中一门相对较新的学科,和语文数学不同,由于其诞生时期较晚,在教学模式并没有如语文或者数学一般有一套完善且行之有效的教学模式。本文探讨的方向,是数字教育资源在小学英语教学中而对运用,笔者将通过对信息技术在英语教学中的应用分析提出符合“有效教学”要求的教学模式。 【关键词】有效教学;小学英语;数字教育 一、英语的学习难点及数字资源对英语教学的帮助 学习英语的一大难处在于英语本身并非学生的母语,学生在学习过程中实际是对第二语言的钻研的了解,因为缺少先天性的耳需目染,要熟练掌握英语显然不是件容易的事情[1]。 如何用一种高效的教学方法,打破空间和时间的限制,让学生随时处在教学熏陶中?这成为教学工作者着重思考的问题。现代社会是信息时代,网络技术的发达使得人们在交流上更加便利,也更加顺畅,如果使用网络工具进行信息交流和共享,在一定程度上能教师的教学深度扩展化。 此外,物联网、计算机、手机这些我们重用的工具都可以作为使用和利用数字资源的媒介,教师需要调动数字资源投入教学本身也十分便利。具备如此强大的包容力和广泛性的资源如果能有效的融入教学领域中,势必能发挥出优秀的教学价值[2]。 二、数字资源在小学英语教学中的教学模式组成 “有效教学”本身有一个极大的限定概念,即教学的内容必须在有限时间以及空间内完成,这要求有效教学视域下的教学方式必须保持紧密的合理性与恰当性,教师要保持学生对活动的参与度和学习意识,能够积极融入活动中,和自己展开高效的互动。北京师范大学外语教授王蔷提道:“英语学科的核心素养是语言、思维、文化和学习四方面构成。”英语的教学不应当停留在简单的知识填充,而是要深入的挖掘蕴藏在语种中的语言习惯、思维方式、文化底蕴,最终才能真正学习英语,吃透英语。因此应用数字资源创设出符合让学生正确学习英语的教学模式,是教学工作者要认真思考并施行的教学任务。 (一)数字资源聚合方法体系 数字资源聚合方法体系是集合数字资源的重要方法,对教师来说,在教学过程中实现数字资源聚合是有效在教学中运用数字资源的前提,因此,教师在制定体系的结构时,需要从总体上保证数字资源聚合各种功能的实现,功能和结构间存在对应性,存在契合性是构建聚合资源体系的重要基础。因为信息领域的广泛,数字资源聚合方法的来源是多方面、多角度的、数字资源聚合体系的构架方法有众多的类别、性质也是多元、多角度的,教师在创建数字资源运用架构时,必须要设置出对应的层次表,以此才能保证资源的切实运用,具体如表1。 知识关联层(深度语义)本体语义丰富、形式化程度高;扩展性、时效性差 关联数据多领域资源聚合,扩展性强;封闭系统的资源无法处 概念关联层 (语义增强)主题词表结构化、形式化程度高、可复用、自由度低、时效性 分众分类法易用,体现群体智慧;受控性,规范性和结构性差 文献计量(内容特征)处理数据量大,维度高,语义关联度 概念聚类层文献计量(外部特征) 社会网络分析多维,多层级;全面性差、自由度低、聚合过程复杂 表1数字资源聚合方法层次框架 数字资源的体系结构应该是自下而上,有明确的概念聚类层、概念关联层以及知识关联层,整个模式的划分应当清晰细致且具备动态演化性,在教学过程中可以自由的转变,知识粒度根据教学需求自行调整,包括语义化的程度、形态也在语法、语用间随意转化,使不同的知识单元间建立起多元化关联。 (二)数字资源的描述、聚合及可视化 数字资源的数据渠道包含不同的来源、不同的类型,因此在数字资源模式中存在如存储分布、异质异构等特征,教师在收集和运用数字资源时要注意其可靠性,来源必须依托在真实的对象或环境上,且在时间标准上要秉承近期优先的原则,在缺少相应的教学所需资源的情况下再考虑回溯收集,以此保证教学过程中数字资源的新鲜性和时效性。在条件允许的状况下,教师可以使用Datastage作为数字资源的储存库,对信息进行自由的抽取和转换,用ICTCLAS等软件工具对文档资源进行对应分词,将其和英语专业的词典结合,从数字资源中提取到实体信息和特征向量,将最有用的内容抽取出来,在投入到教学中。教师应当在本体和外覆包上建立数据模型,让手中的数字资源和教学保持通用性,做到把复杂抽象的知识点可视化,用视觉方式呈现数字资源的运用模式以及使用结果。将数字教学资源中的节点元素之间错综复杂的链接关系和语义关联以直观形象展现到教学视域中,以此保障学生充分发挥直观认知和理解能力,发现教学数据后的隐藏知识,将教师想要传递的内容最大化的吸收进大脑内。可视化结果需要符合学生的视觉习惯,还应能根据数据资源重要程度设定视觉距离和表现形式。而最重要的地方在于,教师要在教学中提供与学生的交互机会,让学生可以根据结果进一步改变融入数字教学的过程,通过亲身体验,亲身经历,最大化的将数字内容进行知识“变现”,把信息节点转化为知识、载体等实体元素,让自己的英语能力和英语词汇储备得到增加。 通过数字资源及工具的运用,教师可以有效调动起小学生对于英语学习的兴趣,这样一来小学生的基础性英语听说能力能够在学习中

DataStage优化培训笔记.doc

DataStage优化培训笔记 Sequential file 1、注意reject mode的设置 2、优化:(在文件定长的前提下) number of readers per node 设定单节点的多个读取,根据实际情况设置多读个数 read from multiple nodes 设定多节点的数据读取 Change Capture Stage 比较数据后会进行排序,如果之前的数据已经做了排序,则需要改变排序属性。 注意before 和after 的设置,不要设反。 Copy Stage 在内存中操作的组件,建议1进多出用copy组件 Tansformer Stage 是内嵌的程序,一旦作业执行到此stage 程序会暂停进程,外部调用so的程序,Transformer组件中包含的函数,可以自己编写函数进行嵌入(通过routine实现) filter不能用于复杂的判断,copy不能增加赋默认值的字段.. Sort Stage 尽量不用,属于滞留组件,要等数据齐全后再能进行sort操作 LookUp和Join的区别需要注意 join一定要进行排序再进行处理(效率较低), LookUp是流水线实现(超过800M不能用此stage) Data Set Stage Stage自动设置数据为定长,实现多值读取,可以通过drop on input来限制输入数据。 生产环境优化: 关注CPU(并发路数,逻辑节点数,物理作业数),内存,I/O交互 1、在Oracle Enterprise 中使用select语句时,提取尽量少的字段数据 2、在使用LookUp Stage时,如果数据从Oralce出来的,在LookUp table(参照表中)可以设置Lookup type=sparse(此方式是数据不提取到内存,直接在表中进行操作) 3、在Oracle Enterprise中设置Partition table="需要查询的表名"可以实现多进程读取数据 4、在文件系统中,为平衡节点负载,建议数据的输入和输出放在不同的磁盘上(可通过节点进行设置,如Sequential_File中设置FILE的路径) 5、尽量少用repartition(sort stage 、join stage等组件需要对数据进行repartition) 6、要保证有足够的scratch空间,当此空间满了之后,系统会把数据转移到tmp空间,效率变低 7、网络瓶颈会影响作业效率(局域网通讯,Node之间的通讯问题) 8、在MAIN机器上,设置是否关闭jobmonitor进程(pools"" 为默认节点,需要进行节点运

相关文档
最新文档