- 浏览: 112606 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
qb345801622:
根据您的办法,成功解决!
解决项目中页面报错问题 -
Visual___Angle:
能说明一下,这个文件保存后,放在那里??我今天也出现这种情况了 ...
microsoft windows script engine必须工作正常 -
csjxhx:
可以问下,你的最后解决问题的那段代码怎么放?放到哪里去了?
解决项目中页面报错问题 -
qq409982078:
谢谢分享 正好可以用
microsoft windows script engine必须工作正常 -
v韧竹v:
...
用Spring提供的JUnit框架扩展对DAO或Service层进行单元测试
数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的 ETL 过程。IBM WebSphere DataStage 为整个 ETL 过程提供了一个图形化的开发环境。
引言
传统的数据整合方式需要大量的手工编码,而采用 IBM WebSphere DataStage 进行数据整合可以大大的减少手工编码的数量,而且更加容易维护。数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的ETL过程。IBM WebSphere DataStage 为整个 ETL 过程提供了一个图形化的开发环境。本文将从以下几个方面来介绍 IBM WebSphere DataStage:
1. 数据源连接能力
2. 完备的开发环境
3. ETL Job 的并行执行能力
4. 开发一个简单的 ETL Job
出色的数据源连接能力
数据整合工具的数据源连接能力是非常重要的,这将直接决定它能够应用的范围。IBM WebSphere DataStage 能够直接连接非常多的数据源,包括:
1、 文本文件
2、 XML 文件
3、 企业应用程序,比如 SAP、Siebel、Oracle 以及PeopleSoft
4、 几乎所有的数据库系统,比如 DB2、Oracle、SQL Server、Informix等
5、 Web services
6、 WebSphere MQ
正是因为这么好的连接能力,IBM WebSphere DataStage 使用户能够专注于数据转换的逻辑而不用太担心数据的抽取和加载。
完备的开发环境
IBM WebSphere DataStage 的开发环境是基于 C/S 模式的,通过 DataStage Client 连接到DataStage Server 上进行开发。这里有一点需要注意,DataStage Client 只能安装在 Windows 平台上面。而 DataStage Server 则支持多种平台,比如 Windows、Redhat Linux、AIX、HP-UNIX。
DataStage Client 有四种客户端工具。分别是 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director。接下来首先介绍这几种客户端工具在 DataStage 架构中所处的位置以及它们如何协同工作来开发 ETL Job 的,接着再分别详细介绍每个工具的功能。
图 1 描述了 IBM WebSphere DataStage 的整个系统架构。DataStage 的客户端工具连接到DataStage Server 上进行 ETL Job 的开发,DataStage Server 再与后台的数据库连接起来进行数据处理。DataStage 的客户端工具之间的是一个相互合作的关系。下面通过介绍 ETL Job的开发过程来介绍他们之间的这种关系。
ETL Job开发流程
1. 用 DataStage Administrator 新建一个项目;
2. 用 DataStage Designer 连接到这个新建的项目上进行ETL Job的设计;
3. 用 DataStage Director 对设计好的ETL Job设置运行的模式,比如多长时间运行一次ETL Job;
4.用 DataStage Manager 进行ETL Job的备份等。
图 1:IBM WebSphere DataStage 架构图
DataStage Administrator 的主要功能有以下几个:
1. 设置客户端和服务器连接的最大时间。
以管理员的身份登陆 DataStage Administrator。你就会看到如下图所示的画面。在这里你可以设置客户端和服务器的最大连接时间,默认的最大连接时间是永不过期。最大连接时间的意思就是如果客户端和服务器的连接时间超过了最大连接时间,那么客户端和服务器之间的连接将被强行断开。
2. 添加和删除项目
在 Projects 这个标签中,可以新建或者删除项目,以及设置已有项目的属性。这里有必要介绍一下项目的概念,要用 DataStage 进行 ETL 的开发,首先就要用 DataStage Administrator 新建一个项目,然后在这个项目里面进行 ETL Job 的开发。
3. License的管理
可以在Licensing标签中更新License。
DataStage Designer
DataStage Designer是ETL Job开发的核心环境。值得注意的是,登陆DataStage Designer 的时候,不仅要指定DataStage Server 的IP,而且要指定连接到这个DataStage Server上的哪个项目上面,上面已经提到DataStage的项目是由DataStage Administrator 来创建的。DataStage Designer的主要功能可以概括为以下三个方面:
1. ETL Job的开发
DataStage Designer里面包含了DataStage为ETL开发已经构建好的组件, 主要分为两种,一种是用来连接数据源的组件,另一种是用来做数据转换的组件。利用这些组件,开发人员可以通过图形化的方式进行ETL Job的开发。
2. ETL Job的编译
开发好ETL Job后,可以直接在DataStage Designer里面进行编译。如果编译不通过,编译器会帮助开发人员定位到出错的地方。
3. ETL Job的执行
编译成功后,ETL Job就可以执行了,在DataStage Designer里面可以运行ETL Job。ETL Job的运行情况可以在DataStage Director中看到,这方面的内容将在介绍DataStage Director的时候提到。
DataStage Manager
DataStage Manager主要用来管理项目资源。一个项目可能包含多个ETL Job,可以用DataStage Manager把一个项目里面的ETL Job导出来。然后再用DataStage Manager导入到另外一个项目中去,利用这个功能一方面可以实现ETL Job的备份,另一方面就是可以在多个项目之间来重复使用开发好的ETL Job。在DataStage Manager里面可以把数据库中的表结构直接导入到项目中来,供这个项目中的所有ETL Job使用。DataStage Designer也提供了从数据库中直接导入表结构的功能。
DataStage Director
DataStage Director 主要有以下两个功能:
1. 监测ETL Job的运行状态
ETL Job在DataStage Designer中编译好后,可以通过DataStage Director来运行它。前面在介绍DataStage Designer的时候提到在DataStage Designer中也可以运行ETL Job,但是如果要监测ETL Job的运行情况还是要登陆到DataStage Director中。在这里,你可以看到ETL Job运行的详细的日志文件,还可以查看一些统计数据,比如ETL Job每秒所处理的数据量。
2. 设置何时运行ETL Job
ETL Job开发完成后,我们可能希望ETL Job在每天的某个时间都运行一次。DataStage Director为这种需求提供了解决方案。在DataStage Director中可以设置在每天、每周或者每月的某个时间运行ETL Job。
回页首
ETL Job的并行执行
ETL Job的并行执行是IBM WebSphere DataStage企业版的一大特色。ETL Job开发好以后,可以在多台装有DataStage Server的机器上并行执行,这也是传统的手工编码方式难以做到的。这样,DataStage就可以充分利用硬件资源。而且,当你的硬件资源升级的时候也不用修改已经开发好的ETL Job,只需要修改一个描述硬件资源的文件即可。并行执行能力是DataStage所能处理数据的速度可以得到趋近于线性的扩展,轻松处理大量数据
。
回页首
开发一个简单的ETL Job
我们将要开发一个非常简单的ETL Job,使大家对用DataStage进行ETL开发有一个总体的认识。将要开发的ETL Job是把DB2数据库Source中的表employee的内容导入到另外一个DB2数据库Target中的表employee中去。其中两个数据库中的employee表的结构是相同的。employee表的结构为:
这里需要说明的是,DB2数据库的Client端必须和DataStage Server装在同一台机器上面。如果要连接的DB2数据库的Server和DataStage Server不在同一台机器上面,那么就需要先用和DataStage Server装在同一台机器上的DB2的Client端提供的工具配置助手把要连接的数据库添加到DB2的Client端当中。这就为DataStage连接该数据库做好了准备。另外一点需要注意的是,如果你的DataStage Server是安装在Windows上的,那么做完上面所描述的事情后就可以用DataStage连接DB2数据库了,但是如果你的DataStage Server是安装在Linux或者Unix上面的,你还需要配置DataStage的一个名字叫dsenv文件。因为我们的例子当中DataStage Server是运行在Linux上面的。我们将以Linux为例讲述dsenv文件的配置方法。
1. 配置dsenv文件(Linux环境)
dsenv文件是主要是用来存放环境变量的,这些环境变量包含了DataStage要用到的类库,以及要连接的数据库的安装的路径等。dsenv文件位于位于文件夹 $DataStage/DSEngine里面,$DataStage/是DataStage的安装目录,例如:/home/dsadm/Ascential/DataStage/。
打开dsenv文件,在文件的最后加上如下内容:
DB2DIR=/opt/IBM/DB2/V8.1;export DB2DIR DB2INSTANCE=db2inst1; export DB2INSTANCE INSTHOME=/home/db2inst1;export INSTHOME PATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/misc export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTHOME/sqllib/lib;export LD_LIBRARY_PATH THREADS_FLAG=native;export THREADS_FLAG
这些环境变量用来描述DB2的安装路径、DB2的实例、以及DB2类库的路径。配置好这些环境变量后,我们就可以用DataStage连接DB2了。下面我们正式进入开发环节。
2. 新建项目
(1)用DataStage Administrator登录到DataStage Server。Host system是安装DataStage Server的主机,输入它的IP地址或者主机名。另外再输入用户名和密码后,单击按钮 OK;
(2)登录后,在标签Projects中可以看到目前这个DataStage Server上面所有的项目。单击按钮Add新建一个项目;
(3)在弹出的对话框中输入项目名SampleProject,项目存储的默认路径是DataStage安装路径的Projects目录下面,你可以通过单击按钮Browse来改变默认路径。注意不要钩上选择框Create protected project,因为如果钩上的话你所创建的工程将没办法被改变。单击按钮OK;
(4)你会看到在项目列表里面已经有了我们刚创建好的项目SampleProject,单击按钮Close关闭DataStage Administrator;
(5)用DataStage Designer登陆到DataSatge Server,输入DataStage Server的IP或主机名以及用户名和密码,并指定Project为我们刚才创建的项目SampleProject。单击按钮OK;
(6)在DataStage Designer当中单击File‘New去创建一个新的ETL Job;
(7)选择Parallel Job,单击按钮OK;
(8) 一个新的ETL Job已经创建了,单击工具栏上的图标保存,或者用快捷键Ctrl+S来保存,这时候一个保存ETL Job的对话框会弹出来;
(9)在弹出的对话框中。在Job name一栏输入SampleJob,在Category中输入Sample。单击按钮OK;
(10) 保存好刚创建的ETL Job后,我们用DataStage Designer来导入数据库的表结构。在DataStage Designer的左下方的Repository中右键单击Table Definition。然后选择 Import‘Pug-in Meta Data Definitions…;
(11)在弹出的对话框中选择DSDB2,单击按钮OK;
(12) 在弹出的对话框中,Server Name选择Source。输入用户名和密码,再钩上Tables选择框之后单击按钮Next;
(13)选择表employee,把要保存到的目录改成PlugIn\Source。然后单击按钮 Import.;
(14)重复步骤 10-13把存储在Target数据库中的表employee的表结构导入进来,这次存放的路径改成PlugIn\Target。完成后,你会在Repository中看到你导入的表结构;
(15)从左边的palette中拖入两个DB2/UDB API Stage到右边的面板上。DB2/UDB2 API Stage是用来连接DB2数据库的,我们这两个DB2/UDB API Stage一个用来连接数据库source,另一个用来连接数据库Target;
(16)右键单击左边的DB2/UDB API Stage不要放开,一直拖拽鼠标到右边的DB2/UDB2 API Stage上面。这时候在这两个Stage之间会出现一条连线,代表了数据的流向。下面我们将配置这两个Stage的属性;
(17)左键双击左边的DB2/UDB API Stage,会弹出如下图所示的属性框。在标签Stage的子标签General中,设置Stage name为Source,Server name为Source,User ID和 Password设置为右权限访问这个数据库的用户名和密码。Transaction Isolation的默认的选项是Cursor Stability,保持默认选项然后单击标签Output;
(18)在标签Output的子标签General中,输入Table names为employee,并在Query type下拉框中选择Generated SQL Query。这样DataStage会自动帮你生成大部分的SQL代码。然后单击子标签Columns;
(19)在Columns子标签中单击按钮Load去导入刚才从数据库中导进来的表结构;
(20)在弹出的对话框中选择目录PlugIn\Source中的表结构employee,然后单击按钮OK;
(21) 在弹出的对话框中选择要导入的表的列,默认是全选,保持默认并单击按钮OK;
(22) 这时候你会看到表的字段已经被导入进来。单击子标签SQL;
(23) 在子标签SQL中,你会看到系统自动生成的SQL语句。单击按钮 View Data查看表employee中的数据;
(24)当前employee表中有两条数据。单击按钮Close关掉数据查看窗口;
(25)现在我们开始编辑用来连接目标数据库的DB2/UDB API Stage的属性。双击这个Stage,弹出的属性设置窗口如下图所示。在标签Stage的子标签General中,Stage name设置为Target,Server name设置为Target,User ID和Password分别设置为有权限对Target数据库进行操作的用户名和密码。其他属性保持默认值,然后单击标签Input;
(26)在标签Input的子标签General中,设置Table name为employee,Update action选择 Insert rows without cleaning。Create table action选择Do not create target table。然后单击子标签Columns;
(27)在子标签Columns中,你会发现已经有表结构load进来了,这个表结构是和source数据库中的employee表的结构一致的。单击按钮OK并保存ETL Job;
(28)在工具栏中单击图标编译对刚开发完的ETL Job进行编译;
(29)编译过程中会弹出一个对话框显示编译的进行情况。最终ETL Job编译成功后对话框中会显示如下图中所示的消息:Job successfully compiled with no errors;
(30)编译成功后,我们打开DataStage Director来运行我们开发的ETL Job。从DataStage Designer中打开DataStage Director的方法为:从菜单栏中选择Tools‘Run Director;
(31)打开DataStage Director后你会在Sample目录下面发现我们开发好的ETL Job SampleJob,状态为Compiled。选择SampleJob,然后单击工具栏中的运行按钮;
(32)在弹出的对话框中可以设置运行的参数,比如出现多少个warning后ETL Job会自动中止掉。我们保持这个对话框中的默认设置,单击按钮Run;
(33) 这时候你会注意到SampleJob的状态从Compiled变成了Running,等到SampleJob的状态变成Finished后,该ETL Job的运行就结束了;
(34)如下图所示,SampleJob的状态变成了Finished。SampleJob成功结束运行;
(35)到DataStage Designer中,用View Data功能查看目标数据库Target中employee表中的数据。你会发现和源数据库source中的employee表中的数据是一样的。也说明我们开发的ETL Job成功的完成了我们想要它完成的任务。
回页首
总结
本文首先介绍IBM WebSphere DataStage在数据源连接能力以及并行执行能力两方面的特性,接着介绍了它的开发环境。最后用一个简单的ETL Job演示了用IBM WebSphere DataStage进行ETL开发的过程,使大家对这个过程有了一个比较清楚的了解。IBM WebSphere DataStage提供的图形化的环境使我们更容易进行开发和维护。
以上内容是转载过来的,图片没有放入到里面。原文地址是:http://www.360doc.com/content/07/1114/10/7362_820940.shtml
发表评论
-
db2中获取某个表/索引占用空间的大小
2012-04-17 11:24 11257在数据库运维中, ... -
PowerDesigner反向工程操作步骤 及 SQLSTATE = 37000解决方案
2012-04-10 11:12 1202PowerDesigner反向工程操作步骤 1、打开“Pow ... -
DB2事务日志使用经验
2012-01-30 15:04 799事务日志记录数据库中所有对象和数据的改变,在早前版本 ... -
db2查询表的最后使用时间
2011-09-06 15:24 2847在本月出账的过程中,出现表空间不足的情况。虽然在出账之前已清理 ... -
使用merge语句更新数据库中的记录
2011-07-29 15:15 3736在平时更新数据时,经常有这样一种更新,即将表中的数据与 ... -
DataStage 如何解决"job is being accessed by another user"错误
2011-05-25 17:34 1771由于网络连接失败或客户端崩溃造成Job被锁定的解决方法 当某 ... -
查看表空间详细信息
2011-04-25 18:43 1369查看表空间详细信息 list tablespaces ... -
db2树形结构sql问题(转)
2010-10-19 17:24 1776今天在论坛中看到一个很有意思的题目,拿来分享一下: 创建tab ... -
db2死锁问题
2010-09-15 18:00 1250今天解决项目中问卷无法导出答案详细内容的问题。出现问题的原因是 ... -
函数中大杂烩
2010-09-03 16:00 633常用日期函数整理: -- ... -
DB2数据库部分日常实用操作----Load 方法装入数据
2010-08-30 18:05 1371由于最近要频繁的load数据,多多少少会遇到一些问题。而 ... -
解决项目中主键重复无法插入数据的问题
2010-08-19 09:22 6869出现此问题是由于这样:表中之前有一些插入的数据,后期经别人导入 ... -
在 DB2 通用数据库中自动生成数值序列(转载)
2010-08-18 17:37 1445原文地址:http://www.360do ...
相关推荐
DataStage进行数据整合学习文档第1部分
### DataStage进行数据整合第2部分 #### 一、JobSequence的用法 在IBM WebSphere DataStage中,为了管理不同ETL作业之间的依赖关系,有效地控制它们的执行顺序,引入了**JobSequence**的概念。这有助于实现复杂的...
Datastage学习资料集合(分卷1)部分 ...用IBMWebSphereDataStage进行数据整合:第1部分.doc 用IBMWebSphereDataStage进行数据整合:第2部分.doc 用IBMWebSphereDataStage进行数据整合:第3部分.doc
Datastage学习资料集合(分卷2) DataStage+V7.5在RHEL4+...用IBMWebSphereDataStage进行数据整合:第1部分.doc 用IBMWebSphereDataStage进行数据整合:第2部分.doc 用IBMWebSphereDataStage进行数据整合:第3部分.doc
《datastage 数据整合电子书实例》是一份深入探讨ETL(Extract, Transform, Load)以及DataStage数据整合技术的专业资源。这份电子书实例为学习者提供了丰富的实践案例,旨在帮助读者掌握如何有效地从各种数据源抽取...
本文档包括三部分:第一部分主要介绍DataStage的提醒及其开发环境,并用一个简单的例子演示ETL开发的过程;第二部分主要介绍Job Sequence和Container的用法,并附有实例;第三部分主要介绍RTI Job,并附有实例。对于...
DataStage 是一个功能强大的数据整合工具,由 IBM 公司开发,用于数据抽取、转换和加载(ETL)。它提供了一个图形化的开发环境,使得开发者可以快速构建 ETL 流程。下面是 DataStage 的一些关键特性和功能: 1. ...
当DataStage与Websphere结合时,它们共同构成了一个全面的数据仓库环境,为企业提供高效的数据整合和分析能力。 DataStage的学习版文档V0_4.pdf很可能包含了关于如何使用DataStage的基础到高级知识,包括但不限于...
DataStage是一款强大的企业级数据集成工具,由IBM公司开发,用于构建高效、可靠的数据整合解决方案。这个"DataStage学习版文档"提供了丰富的资料,帮助初学者掌握DataStage的基本概念、功能以及操作技巧。 1. **...
通过上述介绍,DataStage不仅是一款强大的数据整合工具,更是企业级数据管理战略的核心组成部分。掌握其核心组件和高级功能,能够帮助企业有效提升数据处理能力,加速业务决策,实现数据驱动的增长。
9. **4(w5**:这部分可能涉及到了 DataStage 的脚本编写,包括如何使用内置脚本语言进行更灵活的数据处理。 10. **r*VPw5**:这部分可能涵盖了 DataStage 的变量管理,包括如何定义和使用变量来简化作业的配置和维护...
IBM 信息服务器提供了多种功能,包括数据整合、数据转换、数据质量检查和报表生成等。它还提供了高级的数据分析和机器学习功能,能够帮助企业更好地理解和利用数据。 DataStage DataStage 是 IBM 信息服务器的一...
- **用于PeopleSoft的DataStage PACK**:整合PeopleSoft应用中的数据,支持更全面的企业管理决策。 #### 四、端到端元数据管理 DataStage提供了一套全面的元数据管理解决方案,确保数据在整个生命周期内的可追踪性...
DataStage是一款强大的数据整合平台,广泛应用于企业级大数据处理和数据仓库建设。本指南将通过图文并茂的方式,引导读者从零开始探索DataStage的世界。 首先,我们要了解DataStage的核心概念。ETL是数据处理的三个...
《Datastage 8.0:数据集成的强大工具》 Datastage是IBM公司开发的一款企业级数据集成工具,它在数据仓库、ETL(提取、转换、加载)领域有着广泛的应用。"Datastage_8.0.7z"这个标题表明我们讨论的是Datastage的第8...
DataStage 是一款强大的ETL(Extract, Transform, Load)工具,由IBM开发,用于处理大数据集成和企业级数据仓库建设。它提供了丰富的功能,帮助企业从各种数据源抽取、转换和加载数据,确保数据质量并支持复杂的业务...
- 数据关联用于连接来自不同源的数据,例如在数据整合中进行表间的连接。 7. **操作约束条件及数据来源**: - 约束条件可能涉及数据质量检查,确保加载到目标的数据满足特定标准。 - 数据来源可以是任何支持的...
- **数据仓库构建**:用于将来自多个源系统的数据整合到一个中心化数据仓库中。 - **数据迁移项目**:当企业需要更换数据库平台或升级现有系统时,DataStage 可以帮助实现高效的数据迁移。 - **大数据处理**:虽然...
DataStage是一款由IBM公司开发的高性能数据集成工具,广泛应用于数据仓库环境,用于整合不同来源的数据。本文将介绍DataStage的运维手册中所涉及到的一些关键知识点,包括DataStage的基本概念、组件、运维管理和操作...