ODS层datastage工作流程图
- 格式:doc
- 大小:312.50 KB
- 文档页数:3
ods层方案
数据仓库的ODS(Operational Data Store)层方案主要包括以下几个步骤:
1. 数据抽取和加载:从业务系统中抽取数据,并确保数据的及时性和准确性。
2. 数据清洗和加工:对数据进行初步的清洗和加工,例如去重、格式化、转换等,使其符合企业的业务需求和规范。
3. 数据分类和组织:将数据按照相关业务进行分类和组织,方便后续的数据整合和分析。
4. 设计数据结构:根据业务需求和数据特点,设计合理的数据结构,包括表结构、索引、分区等,以满足数据查询和检索的高效性和灵活性。
5. 数据交互和转换:确保ODS层与其他层级之间的数据交互和数据转换的正确性和稳定性。
此外,设计ODS层时还需要注意以下几点:
1. 实时采集和存储操作性数据。
2. 支持数据仓库ETL过程,将ODS层中的数据转换为适合DW层使用的格式。
3. 支持历史数据追溯,以便用户进行历史趋势分析。
4. 减轻源系统负担,提高系统性能。
5. 增量变化的获取。
在实施ODS层方案时,需要根据实际情况选择合适的数据同步方式,如文
件抽取、数据库表的抽取或原始日志的抽取等。
例如,如果ODS层需要对
接多个不同类型的业务系统库,一种比较简单实用的做法是和各个业务系统约定好数据接口,并让业务系统按照数据接口格式生成数据文件和完结标示文件给到ODS。
这种方式可以降低ODS处理多种类型数据库系统能力需求,同时也减少了对业务系统的性能影响。
数仓分层设计方案一、ODS层(原始数据层,Original Data Store)这层就像是数据的大仓库,不管是从哪儿来的数据,什么格式的,是数据库里导出来的,还是从文件里读出来的,一股脑儿全放在这儿。
就好比是把外面世界各种各样的原材料都堆到一个大院子里,先不管乱不乱,反正先存起来再说。
比如说从各个业务系统像销售系统、库存系统、客户管理系统里直接拉过来的数据,就原封不动地放在这儿,这个时候数据可能是各种各样的脏数据,就像刚从地里挖出来带泥的萝卜,但是没关系,这是第一步嘛。
二、DWD层(明细数据层,Detail Data Warehouse)从ODS层拿到数据之后,就开始在这层清理数据了。
把那些脏东西去掉,就像把萝卜上的泥洗干净一样。
对数据进行一些简单的处理,像数据格式的统一啊,把日期格式都搞成一样的,把一些明显错误的数据给修正或者标记出来。
这里的数据是按照业务主题来组织的,比如说销售相关的数据就放在一块儿,库存相关的放一块儿。
这层就像是把原材料初步加工分类,让数据变得稍微整齐一点,这样后面用起来就方便多啦。
三、DWS层(轻度聚合层,Data Warehouse Summary)到了这层,就开始做一些小的聚合操作了。
就像是把洗好切好的萝卜、青菜啥的,做一些简单的搭配组合。
比如按照地区统计销售总额、按照时间段统计库存的变化量。
这层的数据是从DWD层的数据聚合来的,它能让我们从更宏观一点的角度去看数据,但是还没有特别汇总,还保留了一定的明细信息,就像我们做的是几个小菜的拼盘,还能看到每个菜的大概样子。
四、ADS层(应用数据层,Application Data Store)这是最上面一层啦,这层的数据就是专门为了各种应用场景准备的。
比如说给领导看的报表数据,或者是给某个特定业务部门用的数据。
这层的数据就像是把前面那些加工好的菜,做成了精致的套餐,直接端到顾客(也就是使用数据的人)面前。
这个数据就是根据具体的需求高度定制的,比如说领导想要看每个季度不同产品线的利润情况,那在这层就把相关的数据按照要求整理好,让领导一眼就能看到他想看的东西。
商业银行基于数据仓库的数据集市的解决方案翟建国,李文生北京邮电大学计算机科学与技术学院,北京(100876)E-mail:zhaijg2008@摘要:在数据仓库建设的后期,由于企业的多个部门都开始使用数据仓库所提供的服务。
而这些部门之间往往又对数据仓库有不同的要求,很多人就提出了在数据仓库基础上构建数据集市的概念。
虽然在业务系统中拥有足够的信息来进行数据分析,但是很难从这些系统中提取有意义的信息而且速度也较慢。
而且虽然这些系统可支持预定义报表,但却无法支持一个部门对数据进行历史的、集成的、智能的和易于访问的分析。
因为业务数据分布在许多跨系统和平台的表中,而且通常是“脏的”,包含了不一致和无效的值,使得分析难于进行。
数据集市可以合并不同系统的数据源来满足业务信息需求。
本文针对某商业银行数据仓库建设本身的特点,提出了一整套切实可行的针对这家银行的数据集市建设的解决方案,并成功应用于实际项目中,希望对其他银行或者企业在建设自己的数据集市时具有参考意义。
关键字:数据仓库,ODS,ETL,数据集市。
0.引言某商业银行数据仓库的建设目前已经初具规模,随着相关数据逐步积累,数据仓库的资源已经完全可以满足各类分析系统的数据需求,按照这家银行的技术架构,数据集市的建设已经迫在眉睫。
数据集市的建立可以解决各系统数据获取得问题,并在集市范围内得到最大的共享,数据集市可以根据各系统的数据需求,建设成一个高度整合的业务系统数据平台,经过整合后的数据便于应用的掘取、操作,发挥最大的效能。
数据集市的建立可以有效缓解数据仓库时间窗口的争用问题,加快各系统数据获取的速度。
同时整合的数据集市不仅可以解决信息不对称等方面的问题,且整合后方便统一管理,降低费用,提升效能、增进安全,使得整体架构更加合理化、科学化。
1.数据仓库技术1.1数据仓库介绍数据仓库技术是数据库与人工智能两项计算机技术相结合的产物,是当今信息管理技术的主流,它利用人工智能中的机器学习、知识处理和神经网络等方法,从数据库中挖掘有用信息、发现知识、搞清数据库中大量数据之间的相互关联及众多数据之间存在的规律,可供使用者有效分析和利用数据库中的已存储的各种有用信息,以帮助决策者迅速做出决策,从而使企业产生巨大的经济效益。
南海农信社ODS 南海ODS项目DataStage技术文档文档信息批复信息文件控制目录1.引言 (1)1.1编写目的 (1)1.2背景 (1)1.3参考资料 (1)1.4术语定义及说明 (1)2.Data Stage概述 (1)1.5Asciential 企业版数据集成平台架构 (2)1.6DS7.5.2企业版CS结构 (2)3.DataStage各部件介绍 (3)1.7Administrator (3)1.7.1总体说明 (3)1.7.2主要功能 (3)1.7.3功能详解 (3)1.7.4经验总结 (6)1.8Manager (8)1.8.1总体说明 (8)1.8.2主要功能 (9)1.8.3功能详解 (9)1.8.4经验总结 (10)1.9Designer (11)1.9.1总体说明 (11)1.9.2概念解释 (11)1.9.3主要功能 (11)1.9.4功能详解 (11)1.9.5例子 (11)1.9.6经验总结 (13)1.10Director (13)1.10.1总体说明 (13)1.10.2主要功能 (13)1.10.3功能详解 (14)1.10.4经验总结 (16)4.Datastage基础 (16)1.11数据类型 (16)1.12变量 (17)1.12.1总体说明 (17)1.12.2例子 (17)1.12.3经验总结 (19)1.13字符集编码 (19)1.14Job的类型 (20)1.15Stage 类型 (21)1.16Routine (49)1.16.1Server Routine (49)1.16.2Parrallel Routine (51)5.DataStage企业版的核心技术 (53)1.17扩展性和底层 (53)1.18数据处理方式 (53)1.18.1传统的批处理 (53)1.18.2管道多处理 (54)1.18.3数据分区 (54)1.18.4管道多处理和数据分区结合 (54)1.19数据分区详解 (55)1.19.1数据分区和数据聚合关系 (55)1.19.2数据重分区 (55)1.19.3数据分区方法 (56)1.20服务器的参数配置 (56)1.20.1物理架构 (56)1.20.2配置文件 (57)1.20.3经验总结 (58)1.21缓存机制 (58)6.性能调优 (59)1.22总体说明 (59)1.23调试的方法 (59)1.24经验总结 (60)1.24.1Transformer Stage使用说明 (60)1.24.2文件读写 (60)1.24.3磁盘I/O (60)1.24.4内存限制 (60)1.24.5并行度 (60)1.24.6并行调度测试 (61)1.24.7数据排序 (61)1.24.8表结构的简化 (61)1.24.9VARCHAR的定义 (61)1.24.10类型的转换 (61)1.24.11环境变量的设置 (62)1.24.12NULL值的处理 (62)7.作业调度 (62)1.24.13Sequence job调度 (62)1.24.14Job control调度 (64)8.问题集合 (65)1.25输出字段变多了 (65)1.26加载数据时,索引出错 (65)1.27数据加载到Oracle出错 (65)1.28文本数据导入出错 (65)1.29不可见字符导致出错 (65)1.30日期转换出错 (65)1.31全角空格引起的问题 (66)1.32字段中混合中英文字符“、[]”等,不能写入数据库 (66)1.33NULL值导入出错 (66)1.34使用封装Stage出错 (66)1. 引言1.1编写目的为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 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。
继系统集成、应用集成、业务集成之后,最头痛的数据集成(Data Integration)已渐被各大企业纷纷触及。
目前国内大多数企业还仅停留在服务于单个系统的多对一架构数据集成应用,这种架构常见于数据仓库系统领域,服务于企业的商务智能。
早期那些数据集成大家大都是从 ETL 启蒙开始的,当时 ETL 自然也就成为了数据集成的代名词,只是忽然一夜春风来,各厂商相继推出 DI 新概念后,我们不得再也不次接受新一轮的 DI 洗脑,首推的有SAS DI、 Business Objects DI、Informatica DI、Oracle DI (ODI)等厂商。
是一个渐进的过程,只要有新的、不同的数据产生,就不断有数据集成的步聚执行。
企业有了五年、八年的信息化发展,凌乱、重复、歧义的数据接踵而至,数据集成的空间与需求日渐迫切,企业需要一个主数据管理(Master Data Manager)系统来统一企业的产品信息、客户信息;企业需要一个数据仓库(Data Warehouse)系统来提高领导层的决策意识,加快市场战略调整行动;企业需要一个数据中心(Data Center)系统来集中交换、分发、调度、管理企业基础数据。
数据集成的必要性、迫切性不言而喻,不断被推至企业信息化战略规划的首要位置。
要实现企业数据集成的应用,不光要考虑企业急需集成的数据范围,还要从长远发展考虑数据集成的架构、能力和技术等方面内容。
从数据集成应用的系统部署、业务范围、实施成熟性看主要可分三种架构。
一种是单个系统数据集成架构、一种是企业统一数据集成架构、一种是机构之间数据集成架构。
主要是以数据仓库系统为代表提供服务而兴建的数据集成平台,面向企业内部如ERP、财务、 OA 等多各业务操作系统,集成企业所有基础明细数据,转换成统一标准,按星型结构存储,面向市场经营分析、客户行为分析等多个特有主题进行商务智能体现。
这种单个系统数据集成应用架构的主要特点是多对一的架构、复杂的转换条件、 TB 级的数据量处理与加载,数据存储结构特殊,星型结构、多维立方体并存,数据加载层级清晰。
1部署软件环境DB服务器:22.4.8.7DB客户端:22.4.8.10,22.4.8.11,22.4.8.12,22.4.8.13DataStage主服务器:22.4.8.11DataStage备份服务器:22.4.8.13DataStage节点:22.5.8.10,22.5.8.122创建用户为每台机器创建dstage组和dsadm用户➢运行smit命令,启动管理界面➢在安装机器上创建dstage组设置ADMINISTRATIVE USER 选项为true设置GID设为300➢创建用户dsadm设置主属为dstage,设置ADMINISTRATIVE USER 选项为true;设置UID设为300;设置Primary GROUP,Group SET,ADMINISTRATIVE GROUPS:均为dstage;设置Soft FILE size [-1] (无限制)设置Hard FILE size [-1] (无限制)3修改系统参数调整每台机器的最大进程数查看用户进程最大数目:lsattr -El sys0|grep maxuproc如:修改用户进程最大数目:注意:要调整每个Datastage节点的最大进程数用root用户登陆,键入即可。
chdev -l sys0 -a maxuproc=40964 DataStage安装4.1上传DataStage介质到服务器上将介质拷贝到终端上,然后ftp到22.4.8.11和22.4.8.13上,将介质放在/Ascential.media 目录下,并赋上所有权限:chmod -R 777 /Ascential.media4.2安装DataStage4.2.1进入/Ascential.media,运行sh ./install.sh –admin dsadm,中间安装过程请参考上线文档,在安装过程中创建工程ETL_ODS.4.2.2配置dsadm用户.profile环境变量,增加如下内容22.4.8.11:# The following three lines have been added by IBM DB2 instance utilities.if [ -f /home/db2inst1/sqllib/db2profile ]; then. /home/db2inst1/sqllib/db2profilefi#ds envexport ETLPLUS_HOME=/home/dsadmexport DSHOME=/home/dsadm/Ascential/DataStage/DSEngineexport APT_ORCHHOME=/home/dsadm/Ascential/DataStage/PXEngineexport DB2HOME=/home/db2inst1/sqllibexportPATH=$PATH:$DSHOME/bin:$DB2HOME/include:/home/dsadm/Ascential/DataStage/ PXEngine.753.1/libexportLIBPATH=$LIBPATH:$DSHOME/lib:$APT_ORCHHOME/lib:/home/dsadm/Ascential/Dat aStage/PXEngine.753.1/lib. $DSHOME/dsenv22.4.8.13:# The following three lines have been added by IBM DB2 instance utilities.if [ -f /home/db2inst1/sqllib/db2profile ]; then. /home/db2inst1/sqllib/db2profilefi#ds envexport ETLPLUS_HOME=/home/dsadmexport DSHOME=/home/dsadm/Ascential/DataStage/DSEngineexport APT_ORCHHOME=/home/dsadm/Ascential/DataStage/PXEngineexport DB2HOME=/home/db2inst1/sqllibexportPATH=$PATH:$DSHOME/bin:$DB2HOME/include:/home/dsadm/Ascential/DataStage/ PXEngine.753.1/libexportLIBPATH=$LIBPATH:$DSHOME/lib:$APT_ORCHHOME/lib:/home/dsadm/Ascential/Dat aStage/PXEngine.753.1/lib. $DSHOME/dsenv22.4.8.10:export DSHOME=/home/dsadm/Ascential/DataStage/DSEngineexport APT_ORCHHOME=/home/dsadm/Ascential/DataStage/PXEngineexport DB2DIR=/opt/IBM/db2/V9.5export DB2INSTANCE=db2inst1export INSTHOME=/home/db2inst1exportPATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/mi sc:$APT_ORCHHOME/lib:$APT_ORCHHOME/binexportDB2PATH=$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/misc exportLIBPATH=$LIBPATH:$DB2DIR/lib:$INSTHOME/sqllib/lib:$APT_ORCHHOME/libexport ETLPLUS_HOME=/home/dsadm22.4.8.12:export DSHOME=/home/dsadm/Ascential/DataStage/DSEngineexport APT_ORCHHOME=/home/dsadm/Ascential/DataStage/PXEngineexport DB2DIR=/opt/IBM/db2/V9.5export DB2INSTANCE=db2inst1export INSTHOME=/home/db2inst1exportPATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/mi sc:$APT_ORCHHOME/lib:$APT_ORCHHOME/binexportDB2PATH=$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/misc exportLIBPATH=$LIBPATH:$DB2DIR/lib:$INSTHOME/sqllib/lib:$APT_ORCHHOME/libexport ETLPLUS_HOME=/home/dsadm22.4.8.7:# The following three lines have been added by IBM DB2 instance utilities. if [ -f /home/db2inst1/sqllib/db2profile ]; then. /home/db2inst1/sqllib/db2profilefiexport ETLPLUS_HOME=/progexport DSHOME=/home/dsadm/Ascential/DataStage/DSEngineexport APT_ORCHHOME=/home/dsadm/Ascential/DataStage/PXEngineexport DB2DIR=/opt/IBM/db2/V9.5export DB2INSTANCE=db2inst1export INSTHOME=/home/db2inst1exportPATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/mi sc:$APT_ORCHHOME/lib:$APT_ORCHHOME/binexportDB2PATH=$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/misc exportLIBPATH=$LIBPATH:$DB2DIR/lib:$INSTHOME/sqllib/lib:$APT_ORCHHOME/libexport DateInfoPath=/gpfsf/DateInfoPath5配置rsh环境。