`

DataStage 简介 (

 
阅读更多
DataStage 简介 (2010-05-27 19:23:04)转载▼
标签: 杂谈 分类: 数据仓库
数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的 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、Teradata、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
DataStage Administrator 的主要功能有以下几个:
1. 设置客户端和服务器连接的最大时间。
以管理员的身份登陆 DataStage Administrator(默认安装下管理员为dsadm)。你可以设置客户端和服务器的最大连接时间,默认的最大连接时间是永不过期。最大连接时间的意思就是如果客户端和服务器的连接时间超过了最大连接时间,那么客户端和服务器之间的连接将被强行断开。
2. 添加和删除项目
在 Projects标签中,可以新建或者删除项目,以及设置已有项目的属性。要用 DataStage 进行 ETL 的开发,首先就要用 DataStage Administrator 新建一个项目,然后在这个项目里面进行 ETL Job 的开发。
在Property里,能够设置该Project全局设置、用户权限以及License的管理
(2) DataStage Designer
DataStage Designer是ETL Job开发的核心环境。值得注意的是,登陆DataStage Designer 的时候,不仅要指定DataStage Server 的IP或Server名,而且要指定连接到这个DataStage Server上的哪个项目上面,上面已经提到DataStage的项目是由DataStage Administrator 来创建的。
DataStage Designer的主要功能可以概括为以下三个方面:
1. ETL Job的开发
DataStage Designer里面包含了DataStage为ETL开发已经构建好的组件, 主要分为两种,一种是用来连接数据源的组件,另一种是用来做数据转换的组件。此外DataStage还提供自定义函数(Basic),利用这些组件,开发人员可以通过图形化的方式进行ETL Job的开发,此外ETL Job支持参数的传递。
2. ETL Job的编译
开发好ETL Job后,可以直接在DataStage Designer里面进行编译。如果编译不通过,编译器会帮助开发人员定位到出错的地方。
3. ETL Job的执行
编译成功后,ETL Job就可以执行了,在DataStage Designer里面可以运行ETL Job。ETL Job的运行情况可以在DataStage Director中看到,这方面的内容将在介绍DataStage Director的时候提到。
4. ETL Job的DEBUG
ETL Job可以在Designer中设置断点,跟踪监视Job执行时的中间变量。
5. ETL Job Report的生成
可以为ETL Job生成文档报告,该报告非常详细,只通过该报告,就可以完全了解该Job的结构与处理过程,非常便于分析。
DataStage提供很多实用的控件,常用的控件有:
1. DB操作控件
主要用于各种DB的连接,连接方式有多种,有面向厂家的Native方式,如Sybase的OpenClient方式,也有通用的ODBC等方式,此外也有些比较特别的DB操作控件,如Sybase的IQ Load、BCP控件,主要用于数据的快速导入和导出。
2. 文件操作控件
常用的有Sequential File、Hashed File, Sequential File是可指定编码形式和格式的CSV文件,Hashed File主要是为了加快检索效率,而替代DB控件的一种比较好的选择,这两种控件可用于输入或输出。
3.处理控件
主要的处理空间有Transformer、Aggregator, Transformer是负责数据转换的关键控件,在该控件中可以调用一些自定义函数,Aggregator是用于统计的控件,非常类似于SQL中的GROUP BY,也提供Count、Max、Min、Sum的统计操作,还支持如First、Last、Average等操作。
DataStage的ETL Job分类:
1. Server Job
最为常用的Job类型,Job可以组合使用,Server Job是Job的最小单位。
2. Job Sequence
Job Sequence主要用于Job间的协作工作控制,如各Job的实行流程,出错处理,文件监控等。
3. Job Control
Job Control是一种特殊的Server Job,这种Server Job不是通过Designer来设计的,而是直接通过DataStage内嵌支持的Basic语言来开发,因此方式更为灵活,完全可以利用Job Control替代Job Sequence,至少在出错处理和Log输出等方面要灵活很多。(我参与开发的一个项目中完全用Job Control替代了Job Sequence,做出了更为详细的Log输出)
(3) DataStage Manager
DataStage Manager主要用来管理项目资源。一个项目可能包含多个ETL Job,可以用DataStage Manager把一个项目里面的ETL Job导出来。然后再用DataStage Manager导入到另外一个项目中去,利用这个功能一方面可以实现ETL Job的备份,另一方面就是可以在多个项目之间来重复使用开发好的ETL Job。在DataStage Manager里面可以把数据库中的表结构直接导入到项目中来,供这个项目中的所有ETL Job使用。DataStage Designer也提供了从数据库中直接导入表结构的功能。
(4) 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。(Windows平台下需要打开的Task Scheduler服务,此外,在Unix等平台下,更常用的是用Cron结合dsjob命令来定时运行ETL Job)
五.命令行形式的运行:
ETL Job支持在DataStage Server侧用命令行形式的调用,可以用dsadmin命令来管理DataStage的Project,包括Project的新建,删除以及一些环境变量的增删(DataStage 7.5.1下未能通过dsadmin来设置全局NLS和一些项目属性)。使用dsjob命令,能够同步或非同步的运行DataStage的Job,并传递需要的Job参数,能够检查Job运行的状态,并能恢复Job的运行状态。
六. DataStage的不足:
以上都是说DataStage优点,但实际上DataStage也有不少缺点和不足,这些不足点,会直接影响到能否采用DataStage来达到我们的客户或设计要求。下面就谈一下,最近利用DataStage7.5.1来开发一个项目中遇到的问题。
1.缺点:
存在一个Bug,在利用DB控件的参照功能时,如果指定的SQL文有错误的话,那可能会直接造成DataStage出错,然后客户端会和服务端直接断开,需要关闭客户端,重新连接服务端,并且更为严重的是,DB连接将不会被释放(可能是服务器端的执行进程并没有停掉的缘故)
DataStage的表定义的使用,可以通过PlugIn的方式导入,但是导入后基本就只起一个模版的作用,当表结构发生改变而需要修改表定义时,使用该表定义的地方并不能同步,需要手动修改,容易出现遗漏。
2.不足:
一些高级控件的功能不够全面,在实际应用时,会
分享到:
评论

相关推荐

    datastage简介

    ### 一、DataStage简介 #### 1.1 定义与背景 DataStage是IBM InfoSphere Information Server平台下的一个高性能数据集成工具,旨在帮助企业用户快速、准确地完成大规模数据的集成和转换任务。它提供了一套完整的...

    IBM Websphere DataStage 简介

    数据中心(数据仓库)中的数据来自于多种业务数据源,这些数据源可能是不同硬件平台上,使用不同...针对目前系统的数据来源复杂,而且分析应用尚未成型的现状,专业的数据抽取、转换和装载工具DataStage是最好的选择。

    DataStage菜鸟入门文档

    一、DataStage简介 DataStage是一款ETL(Extract, Transform, Load)工具,专门用于从各种数据源抽取数据,经过清洗、转换后加载到目标系统,如数据仓库或数据湖。它的优势在于强大的并行处理能力,可以处理大量数据...

    转:datastage 开发指南

    一、DataStage简介 DataStage是一款功能丰富的ETL(提取、转换、加载)工具,它允许用户设计、构建和管理复杂的数据集成流程。通过图形化的界面,DataStage使得数据处理变得更加直观,能够处理来自各种源的数据,并...

    datastage学习教程,教程是英文文档

    #### 一、DataStage简介与概念回顾 - **DataStage**:是由IBM提供的一款强大的数据集成平台,适用于处理大规模的数据集成需求。 - **Ascential’s Enterprise Data Integration Platform**:DataStage作为Ascential...

    Datastage产品开发使用指南.pdf

    - **DataStage简介**:DataStage是一款高性能数据集成工具,主要用于企业级批量数据处理,支持多种数据源的接入与转换,能够实现大规模数据的高效处理。 - **DataStage EE开发工具**:DataStage Enterprise Edition ...

    datastage安装教程

    1. DataStage 简介和工作原理 DataStage 是一个专业的数据抽取、转换和装载工具,能够处理多种数据源的数据,包括大型主机系统数据库、开放系统上的关系数据库、普通文件系统等。DataStage 能够从多个不同的业务...

    DataStage学习版文档V0_4.pdf

    1. **DataStage简介**:首先,文档可能介绍了DataStage的基本概念,如其工作原理、组件、以及在数据仓库中的角色。DataStage的主要功能包括ETL(提取、转换、加载)操作,支持从多种数据源抽取数据,进行清洗、转换...

    DataStage入门进阶学习资料

    1. **DataStage简介**:了解DataStage的基本概念,包括其在数据仓库解决方案中的角色,以及它的主要功能和优势。 2. **DataStage架构**:深入理解DataStage的组件,如Director、Server、Parallel Job Server、...

    DATASTAGE应用服务安装部署说明手册

    #### 一、DATASTAGE简介 DATASTAGE作为IBM InfoSphere DataStage的一部分,是一种高性能的数据集成平台,它主要用于企业级数据整合任务,如提取、转换、加载(ETL)过程。通过提供丰富的图形化设计工具以及强大的...

    DataStage_Guide_CN.rar_DataStage_Guide_CN_dataStage_datastage pr

    DataStage简介** DataStage是IBM的信息整合平台一部分,它允许用户构建复杂的数据整合流程,处理海量数据。该工具提供了一个图形化的用户界面,使得设计、开发和管理数据集成工作流变得直观且易于理解。 **2. ...

    Datastage 培训教材

    #### 一、Datastage简介(Module 1:Datastage介绍) **Datastage**是一款由Ascential Software Corporation开发的数据集成工具,被广泛应用于企业级数据处理项目中。该模块主要介绍了Datastage的基本概念及其在...

    IBM DataStage Enterprise Edition 开发指南v1.0

    一、DataStage简介 IBM DataStage 提供了图形化的开发环境,使得数据处理过程可视化,降低学习曲线,提高工作效率。它支持多种数据源,包括关系数据库、文件系统、XML、Web服务等,能处理结构化、半结构化和非结构化...

    datastage basic guide

    #### 一、DataStage简介 - **DataStage**是由Ascential Software Corporation开发的一款强大的企业级数据集成平台,用于帮助组织处理大量的数据整合任务。该平台支持多种操作系统环境,包括Windows和Unix。 - **版本...

    datastage 学生用书

    #### 一、DataStage简介 DataStage是由Ascential Software Corporation(后被IBM收购)开发的一款强大的企业级数据集成工具,它主要用于ETL(Extract-Transform-Load)过程,即从不同的数据源抽取数据、转换数据格式...

    datastage 开发文档 中文版

    #### 一、DataStage简介 - **DataStage**:作为IBM InfoSphere DataStage的简称,它是一款强大的企业级数据集成工具,主要用于大规模的数据处理与转换任务。 - **InfoSphere DataStage and QualityStage V8.5**:此...

    DataStage学习指导_CN

    1. **DataStage简介**:DataStage是IBM InfoSphere家族的一员,用于构建高性能的数据整合解决方案。它支持各种数据源的连接,提供灵活的数据转换方法,并能进行大规模并行处理,提高数据处理速度。 2. **DataStage...

    DataStage学习版文档V0.67

    #### 一、DataStage 简介与工作原理 **DataStage** 是一款由 IBM 开发的数据集成工具,用于实现高效的数据提取、转换和加载(ETL)过程。它支持多种平台,如 Windows、Linux 和 Unix 等,并提供了丰富的功能来满足...

    Datastage产品开发使用指南

    一、DataStage简介 DataStage作为一个企业级数据集成平台,支持多种数据源的连接,包括数据库、文件、Web服务等。它提供了一个图形化的开发环境,使数据工程师可以直观地设计和构建复杂的ETL流程,减少了编码的工作...

Global site tag (gtag.js) - Google Analytics