收藏 分享(赏)

数据仓库和管理信息系统中ETL的建设.doc

上传人:wo7103235 文档编号:6236570 上传时间:2019-04-03 格式:DOC 页数:43 大小:1.21MB
下载 相关 举报
数据仓库和管理信息系统中ETL的建设.doc_第1页
第1页 / 共43页
数据仓库和管理信息系统中ETL的建设.doc_第2页
第2页 / 共43页
数据仓库和管理信息系统中ETL的建设.doc_第3页
第3页 / 共43页
数据仓库和管理信息系统中ETL的建设.doc_第4页
第4页 / 共43页
数据仓库和管理信息系统中ETL的建设.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、DW/MIS 中 ETL 的建设本科毕业论文(科研训练、毕业设计)题 目:数据仓库和管理信息系统中ETL的建设姓 名:学 院:软件学院系:专 业:软件工程年 级:学 号:指导教师(校内): 职称:副教授指导教师(校外): 职称:工程师年 月 日DW/MIS 中 ETL 的建设2数据仓库和管理信息系统中 ETL 的建设摘要 数据仓库和管理信息系统(DW T 即传输、转换、清洗 transmission ;L 即加载、调度 load ;由于各个源系统的差异性,ETL 功能改造了源系统中的相关数据,将他们变成有用的信DW/MIS 中 ETL 的建设8息存储在数据仓库中,没有这些功能,就没有数据仓库中

2、的战略信息。如果没有对源数据进行正确的抽取,清洗和整合,作为数据仓库中枢功能的查询处理就不能进行。ETL功能是提供数据仓库信息内容的前期工作,一般在一个数据仓库系统中,要占据 60%左右的工作量。由于建行是由大量操作型系统支持的,运行在不同的计算机平台上,所以数据抽取是个很大的挑战,数据转换和装载也会同等困难。ETL在整个数据仓库流程中的位置,如图 2-1。图 2-1 ETL在整个数据仓库流程中的位置2.3 ETL的工作过程以及实施步骤1、首先讨论客户需求,确定分析系统范围和主题;2、根据需求建立业务概念模型;3、根据业务概念模型建立业务逻辑模型;4、制定统一的数据标准和映射抽取关系5、根据业

3、务逻辑模型建立数据模型;6、进行 ETL 抽取、转换;7、加载进目标存储区;DW/MIS 中 ETL 的建设9图 2-2 是一个完整的 ETL 过程图事实表的 ETL维度表的 ETL为所有的数据装载编写规程组织数据缓存区域和检测工具为聚集表制定计划决定数据转换和清洗规则建立全面的数据抽取规则准备从源到目标数据元素的数据映像关系决定所有的数据源,包括内部和外部决定数据仓库中需要的所有的目标数据图 2-2 数据仓库 ETL过程参考2.4 结合单一主题实践选择的 ETL工具ETL设计工具:Sagent Design Studio,用于设计实施数据抽取计划。ETL调度工具:Sagent Automat

4、ion,根据特定条件设定管理数据抽取计划实施。ETL管理工具:Sagent Admin, 实现包括ETL 全过程在内的元数据管理ETL 实 现:Sagent Data Movement Server, 提供ETL服务。元数据管理工具: Sagent Admin,管理用户对元数据的访问权限、对数据流中各个组成部分的访问和管理权限等。通过对数据流访问权限的控制,可以方便地对报表和OLAP的访问进行控制,从而满足所有对OLAP 访问控制的功能。元数据存储: SQL Server2000。2.5 数据源的确认以及数据标准的制定单一主题所需的数据虽然只存在于一个数据源系统 DCC中,但是存在于多个表中。

5、因此必须要将这些表关联起来才能得到所需的信息。数据映射规则以及数据标准需要总行的速赢项目完成;数据仓库第一期主要实现资产负债主题,数据尽可能从已经集中的 DCC里面取。2.6 数据的抽取1、数据抽取方法方法一:在数据仓库服务器上建一个临时表,将所需的字段值先抽取到该表中,然后进DW/MIS 中 ETL 的建设10行标准化和汇总装载到数据仓库中。方法二:用复杂的 SQL语句将多表关联选取相应的字段转载到数据仓库中。2、抽取方法的分析对于方法一,可以提高数据抽取的效率,抽取方法和语句也比较简单。但是需要在数据仓库服务器上开辟另外的存储空间,如果数据量大,需要的存储空间也大。同时在数据仓库服务器上进

6、行标准化和汇总,增加数据仓库服务器的负担,可能会影响到它的效率。对于方法二,在抽取过程中进行了一些转换,可以直接装载数据到数据仓库中,数据仓库服务器不需要额外的空间来存储临时表和对数据进行标准化处理。但是数据抽取过程很复杂,SQL 会很繁琐,而且涉及到多表关联,效率会比较低。对于数据源分布在多个系统中这种方法是行不通的。3、抽取方法的比较综合考虑各种方法,方法一可实施程度高。初始装载时,按照所涉及到的源系统的表结构选取需要的字段建立新的表。第一次装载时,采用静态数据捕获,将源数据表的数据全部抽取到临时表中。通过编程或工具对临时表中的数据进行转换,并且进行对数据按照数据仓库的要求进行标准化处理,

7、设置默认值。然后装载到数据仓库中。4、日常数据抽取方法(1)通过对交易日志中对哪些记录进行了 update、insert、delete 操作,将这些记录抽取到数据仓库中,但是这种方法需要源系统的数据库系统有交易日志可查,另外对交易日志的格式需要编写专门的程序来进行处理。源系统是 Informix数据库;(2)通过在源系统的数据库中设置触发器,每当有 update、insert、delete 操作时时触发一个事件将发生改变的记录抽取到临时存储区中,但是这样对源系统有一些影响;(3)将今天的抽取和昨天的抽取进行比较,找出它们之间的变化,将有update、insert、delete 操作的记录抽取到

8、临时表中,这种方法不太适合有大量数据的系统,因为文件太大,不容易进行比较找出变化的记录;(4)通过时间戳来进行数据的抽取,这种方法要求源系统中的数据表中含有日期和时间标记的字段。每次源系统进行 update、insert、delete 操作时都有时间和日期记录。在每次抽取后在这次抽取的时间和日期作一个时间标记,下次抽取时只需抽取在时间标记后进行 update、insert、delete 操作的记录。这种方法适合改动比较少的数据表;(5)通过在源程序写入所有 update、insert、delete 操作,抽取程序捕获源数据变化的文件。这种方法需要修改源程序,需要对它进行维护。一般而言,不会采取

9、这种方法;DW/MIS 中 ETL 的建设11DW/MIS 中 ETL 的建设12各种数据抽取方式的适合情况(表示不允许) ,如表 2-1。数据量大 没有修改源数据表的权限没有时间戳没有有交易日志不允许修改源系统的应用程序静态数据捕获交易日志捕获数据库触发器捕获在源程序中捕获时间戳捕获文件比较捕获表 2-1各种数据抽取方式的适合情况针对单一主题而言,源系统的特点:数据量小,涉及的数据表少,有操作数据库进行的权限。因此采用在源系统的数据表中建立触发器的方式,如果该表中有更新(insert、update、delete)操作,将有变化的记录抽取到临时存储区。2.7 数据的转换对于数据转换主要从以下方

10、面进行转换:(1)格式修正。包括数据类型和单个字段的变化。例如,类型在各种源系统中定义不一致,需要对它们进行标准化;(2)字段的解码。一些用 1和 2来表示男性和女性,另一个系统用 M和 F来表示。一些难以理解的表示方法如 BJ、SH 等。数据仓库需要用户可以理解的值,因此需要对这些值进行解码;(3)计算值和导出值。一些字段在导入数据仓库时需要进行计算。主要是事实表的数据;(4)单个字段的分离。例如有些系统中将地址和名称写在一个字段里,在数据仓库中为了分析的方便需要将这些信息分离成地址和名称二个字段;(5)信息的合并。例如信贷的发生额在 DCC中,而客户信息在 CMIS中,如果要得到完整的信息

11、,就必须将二个系统的数据进行合并;DW/MIS 中 ETL 的建设13(6)特征集合转化。例如源系统使用大型机,它的文本格式采用 EBCDIC格式,而数据仓库基于微机系统,采用 ASCII格式,这样需要进行特征集合转化;(7)度量单位的转化。例如国内的贷款使用人民币,而涉外的贷款会使用到美元,装入到数据仓库是必须要统一货币类型;(8)日期/时间转化。这与操作系统和数据库管理系统设置有关,如在 Informix中11/10/2004表示 2004年 10月 11日,而在 SQL Server中可能表示 2004年 11月 10日;(9)汇总。例如由于粒度需要,在转入数据仓库时一天的发放贷款数据汇

12、总,这样需要对一天的贷款发生额进行汇总;(10)键的重新构造。例如在源系统中是以机构编号作为主键,如果在机构维度表中继续采用机构编号作为主键,在一个机构的机构编号发生变化时,就没有办法判断这二个机构编号是属于同一个机构。因此我们采用机构维度表自己生成的键作为主键,机构编号变化时只要加上一个指向新编号的指针即可;以上是数据转换要考虑的方面,针对单一主题,在数据仓库服务器上编写相应的 SQL语句或者编写相应的程序进行转换。2.8 数据的装载1、数据装载有四种方式:装载、追加、破坏性合并、建设性合并。(1)装载:将数据准备区的数据装载到数据仓库中,如果数据仓库中原来有数据,则先全部清除后,在进行装载

13、。(2)追加:将数据准备区的数据追加到数据仓库中,当已输入记录与已存在记录重复时,要定义如何处理这条记录的副本,可以作为副本增加进去,也可以将其丢弃。(3)破坏性合并:如果数据仓库中不存在数据准备区的数据相同的键值,就将数据准备区的数据加入到数据仓库中。如果已存在某个某个键值,则将该键值的内容进行更新。(4)建设性合并:将数据准备区的数据加入到数据仓库中。如果已存在某个某个键值,则将新加入的记录作一个标记,表示是对旧记录的替代。2、初始装载一次对整个数据仓库进行装载,可以将数据装载分为几个在装载,每个子装载可以采用上述四种方式的任何一种。对一个表的初始装载的第一次允许,可以采用装载的方法,以后

14、的过程可以采用追加。DW/MIS 中 ETL 的建设143、增量装载一般采用建设性合并。对于任何历史性观察不重要的目标表,如一个维度表的一条记录变化意味着纠正自己的错误,旧记录被新纪录代替,采用破坏性合并。4、完全刷新这种类型应用于周期性地重写整体数据仓库。与初始装载不同的是在装入数据时必须将原来的数据删除。可以采用装载和追加的方法。2.9 数据的更新如果当更新的记录数达到 1525时,更新的所需的成本会高于刷新,否则,刷新的成本高于刷新。1、维度表的更新对维度表的修改有三种类型:改正错误、保存历史数据、暂时的修改(1) 改正错误: 如客户维度表中姓名输错了,输入正确姓名后,旧的姓名没有必要保

15、留,用新的姓名进行替代。(2) 保存历史数据:如客户的婚姻状态发生改变,需要重新一个分配键值,记录该客户新的信息,并将原来的记录指向这条新的记录。(3) 暂时的修改:对于保存历史数据的修改中,如果要对跨时期进行分析。如客户 2004年 10 月 1 日搬迁了地址,要对客户在 2004 年 9 月 1 日至 2004 年 11 月 1 日之间的贷款进行分析,这样需要在键值不变的情况下,增加客户新的地址,并修改它的有效日期。对单一主题的每一个维度进行分析,采用哪种方式进行修改。对时间维属性的描述与源系统没有关系。对其它维度表,如果是属于输入错误,可以进行改正错误。如果是属于像客户地址搬迁,信用等级

16、的改变需要保存历史数据。如果有特殊的分析要求,如进行客户在多个信用等级的阶段的贷款总额,则需要进行暂时的修改。2、事实表的更新事实表的增量抽取是通过捕获数据库的交易日志,事实表的数据装载应用并行处理技术。2.10 ETL方案的选择应考虑的问题ETL 解决方案包括数据抽取(E) 、数据传输、转换与清洗(T) 、数据加载、调度(L) ,毋庸置言,ETL 系统将贯穿整个数据仓库系统的全过程。DW/MIS 中 ETL 的建设15ETL 方案的选择应考虑以下方面: 1、数据操作效率;(1) 是否支持复杂的数据操作;(2) 是否支持多任务并行操作;(3) 是否符合系统对数据处理时间窗口的要求。2、数据操作

17、时间周期;(1) 是否支持各种数据处理时间周期的混合操作;(2) 是否支持数据的小批量持续加载;(3) 是否支持数据的大批量定时加载。3、定制的灵活性;(1) 是否支持数据依赖的建立;(2) 是否支持数据流的建立;(3) 是否支持操作定时启动;(4) 是否可扩展;(5) 开发环境是什么,开发是否简单、灵活。2.11 ETL实施案例(信贷管理单一主题)1、系统架构DW/MIS 中 ETL 的建设16信 贷 管 理 数 据 集 市Design StudioERWIN源 数 据 服 务 器 元 数 据 服 务 器信 贷 管 理数 据 集 市 服 务 器 WEB服 务 器 (BO)标 准 查 询 用

18、户WEB浏 览统 计 分 析 用 户DS用 户图 2-3 系统架构图元数据服务器主要实现系统数据抽取管理工作, 并且保存应用系统中所使用的元数据。涉及的软件:ERWIN、Sagent DesignStudio、INFORMIX-OnLine Version 7.23.UC6、SqlServer2000数据集市(DataMart) 服务器采用ROLAP技术, 在关系型数据库上建立、多模型保存多维数据数据。涉及的软件: INFORMIX-OnLine Version 7.23.UC6、SqlServer2000WEB服务器为整个系统中的WEB 应用提供WWW服务。涉及的软件: Windows XP

19、 ServerPC Client 数据集市的设计、管理和调度可在一台机器上实现多个功能。也可以将不同的功能分布到不同的机器。涉及的软件: ERWIN、Sagent DesignStudio PC Client 即席查询通过Client/Server 方式对数据仓库中的数据进行OLAP 分析, 综合统计。涉及的软件: BO2、目标定位(1) 信贷业务分析 DW/MIS 中 ETL 的建设17目前信贷资产在商业银行总资产中占据主要地位,商业银行的盈利很大一部分来自于利差收入,通过在现有信贷业务系统数据的基础上,构造信贷信息数据仓库,建立信贷决策支持系统,可以辅助银行中高级经营管理者进行经营决策,提

20、高银行经营、运作的科学性及预见性,降低银行信贷风险,提高信贷获利能力,建立辅助信贷决策模型。以效益为核心,从行业、客户、产品、机构等多个口径对辖内信贷资产的历史数据进行流动性分析、安全性分析、盈利性分析,并能预测其将来的发展趋势。(2) 信贷客户分析 以客户为中心,分别对客户自身的经营状况以及与商业银行的信贷关系从各种角度进行分析。分析客户对银行的贡献程度,分析客户与银行间的关系,使银行能更有效的做出决策。(3) 信贷品种分析 主要对商业银行贷款的不同种类进行利润的贡献度分析,并结合客户信息,针对不同的客户群设计和推销不同的金融服务和金融产品,使产品的设计和开发真正做到“ 以市场为导向,以客户

21、为中心“ 。 (4) 机构分析 对各发放贷款机构进行评测,分析各机构的工作情况及工作效率。各机构间进行比较分析,分析成功与失败的原因,帮助决策着更好的制定策略。3、功能结构DW/MIS 中 ETL 的建设18信贷管理联机分析及查询 / 报表系统分支行风险监控决策支持系统政策限额资产质量分析风险/收益平衡分析组合集中度分析违约历史分析贷款及回收历史贷款定价客户授信额度信贷审批限额组合集中性限额图 2-4 功能结构4、E-R 模型DW/MIS 中 ETL 的建设19图 2-5 E-R 模型5、事实表、维表设计(1) 信贷管理事实表信贷情况表(主键 LONG,时间外键 LONG,帐户外键 LONG,

22、客户外键 LONG,币别外键 INTEGER,机构外键 INTEGER,贷种外键 INTEGER,额度 DECIMAL(16,2),贷款总额 DECIMAL(16,2),已还本金 DECIMAL(16,2),贷款余额 DECIMAL(16,2),应收利息 DECIMAL(16,2),催收利息 DECIMAL(16,2),逾期金额 DECIMAL(16,2),DW/MIS 中 ETL 的建设20本月发放金额 DECIMAL(16,2),本月回收本金 DECIMAL(16,2),呆账金额 DECIMAL(16,2),呆滞金额 DECIMAL(16,2))(2) 信贷管理维度表时间维度表(主键 LO

23、NG,月份 id INTEGER,月份中文名 CHAR8,月份英文简称 CHAR8,季度 CHAR10,季度编码 CHAR4,半年 CHAR8,半年编码 CHAR4,年份 CHAR6)客户信息维度表(主键 LONG,客户编号 CHAR22,单位名称 CHAR50,注册城市 CHAR50,注册省 CHAR30,注册国家 CHAR30,单位中文简称 CHAR20,法人客户编号 CHAR20,税务登记编号 CHAR20,纳税人规模 CHAR1,营业执照号 CHAR30,经营种类 CHAR30,行业别 CHAR10,所属系统 CHAR10,经济性质 CHAR20,上级主管部门 CHAR20,贷款证号

24、CHAR21,注册资金 DECIMAL(16,2),实收资本 DECIMAL(16,2),企业规模 CHAR14,财务联系人 CHAR20,企业信用等级 CHAR10,企业资质等级 CHAR4,外币余额限制 DECIMAL(16,2),批准贷款额度 INTEGER,批准年度 CHAR6,批准文号 CHAR14,资金主管部门 CHAR30,主导产品 CHAR50,营业执照有效期 CHAR12,开户许可证号 CHAR15,贷款额度最大编号 CHAR6,注册资金币别 CHAR20,CC客户编号 CHAR12,信用卡额度编号 CHAR6)币别维度表(主键 INTEGER,币别编码 CHAR4,币名 C

25、HAR30,英文编号 CHAR10,国家 CHAR20,洲 CHAR10,国家性质 CHAR20)机构维度表(主键 INTEGER,机构号 CHAR12,机构名称 CHAR40,机构级别编码 CHAR4,机构级别 CHAR12,所属二级分行 CHAR30,所属地区 CHAR20)账户维度表(主键 INTEGER,账号 CHAR40,开户日期 CHAR20,开户行编码 CHAR12,开户行名称 CHAR40,帐户类型编码 CHAR8,帐户类型名称 CHAR10,单位名称 CHAR40,担保人 CHAR20,帐户状态 CHAR8,起贷日期CHAR20,到期日期 CHAR20)贷种维度表(主键 IN

26、TEGER,贷种编码 CHAR10,贷种名称 CHAR20,科目编码 CHAR8,科目级别 CHAR8,科目名称 CHAR20,贷款大类编码 CHAR8,贷款大类名称 CHAR20)DW/MIS 中 ETL 的建设216、源数据表表名 中文说明 更新规则 相关的维CICIFCI1 单位客户信息档 覆盖 客户维CMMSCNTC 国籍档 覆盖 客户维CMMSCBTP 行业别档 覆盖 客户维CMMSCBLS 所属系统档 覆盖 客户维CMMSCCNC 经济性质档 覆盖 客户维CMMSCMND 上级主管部门档 覆盖 客户维CMMSCCRG 信用等级档 覆盖 客户维CMMSCQLC 资质等级档 覆盖 客户

27、维CMMSCFPD 资金主管部门档 覆盖 客户维CMMSCCUD 币别档 覆盖 客户维、币别维CMMSCCRC 币别名称档 覆盖 币别维CMBCTBCT 营业单位主档 覆盖 客户维、机构维、账户维DKZLGXB 贷款种类关系表 覆盖 账户维、贷种维LNLNSLNS 放款主档 覆盖 账户维LNLNSUPY 放款利息明细档 新增 事实维LNLNSPLN 分期放款计划档 新增 事实维LNLNSDUE 分期还款计划档 新增 事实维LNLNSPMT 贷款本金变动异动档 新增 事实维LNLNSJR1 放款帐卡档 覆盖 事实维LNLNSJR2 放款帐卡档 覆盖 事实维DW/MIS 中 ETL 的建设22第三

28、章 系统架构3.1 系统整体逻辑结构3.1.1 DWhash 分组;平均分组等),这样就.为以后的 ETL处理作了一定基础工作。对数据的汇总处理不管是在数据库上作,还是在 ETL工具上做,内部都是要先排序,再汇总的。生成文件的数据尽可能做到是经过排序的有序数据,因为排过序的数据,作汇总时无论在数据库或 ETL工具上处理都会加快。而数据库本身的索引、存储空间等技术使查找、排序、汇总的操作优化,是任何 etl工具都不可能达到的高效,所以,尽可能在数据库端就利用高效的排序算法完成卸出数据的有序化工作。可考虑如下实施步骤: 1) 建立系统的连接; 2) 读取数据提取规则参数表,确定提取的源表; 3)

29、根据源表、提取规则、最后一次提取的时间戳或流水号生成提取动态 SQL语句; 4) 查询出的数据根据输出文件拆分规则生成相应的文件(包含汇总记录) ,如果当天数据已全部生成,生成汇总记录文件; 5) 将生成的文件转移到公共文件夹中(ETL 工具获取数据文件的目录) ,同时复制一份到备份数据目录。DW/MIS 中 ETL 的建设273.4.2 数据传输数据传输是通过网络负责把各远程源系统的数据文件 FTP到 ETL工具的文件接收区中,可考虑通过传输中间件实现。可考虑如下实施步骤: 1) 初始化参数表,如间隔时间、远程源系统数据文件的存放位置、ETL 工具端数据文件存放路径,并连接到远程源系统主机上

30、; 2) 取远程源系统数据文件列表,将其取至本地; 3) 根据远程源系统数据文件列表,生成取数据文件的脚本,运行此脚本; 4) 完成取数据操作后,生成取回数据的列表,根据此列表生产删除远程源系统数据文件的脚本,运行此脚本; 5) 将取回的数据文件移到 ETL工具的指定文件接收区中; 6) 继续监控。3.4.3 数据转换数据转换是将源数据变为目标数据的关键环节,通常会遇到的转换要求有:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录

31、;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行,按列的分组聚合等。考虑到降低源数据系统的负荷以及 ETL 工具的运行机制,数据转换工作建议在数据加载时进行。 清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,可以考虑通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。 对数据文件进行处理,读入一个文件可能会被分配到三个文件当中,

32、即合法数据文件、异常数据文件、初次汇总文件。DW/MIS 中 ETL 的建设28合法数据文件是没有违反规则的数据,异常数据文件是在清洗过程中发现不合乎规则的记录。异常数据文件跟合法数据文件的和应该是输入文件。初次汇总文件是经过初步汇总的文件,该汇总过程只依赖于输入文件内部,不跟外部其它文件关联。数据转换可考虑如下实施步骤: 1) 初始化参数表,如间隔时间、本地文件路径等,程序启动时或配置参数更改时(定时判断配置参数更改标志位)加载各类参数配置表; 2) 实时扫描 ETL工具的文件接收区,如有新文件出现,根据文件名,调用该文件的相应处理模块; 3) 根据对应文件的清洗规则对数据文件进行行扫描,异

33、常数据未知参数、文件格式错误(包含整个文件、行记录)生成异常数据文件,合法数据生成合法数据文件;4) 在进行数据的行扫描时,同时调用转换、汇总模块,生成文件各自对应的汇总数据;5) 程序根据生成的不同数据文件,生成最后汇总数据,同源数据文件各自的汇总数据累计和进行对比,如出现不一致,提供系统预警。对于数据清洗的过程,可考虑如下实施步骤:1) 元素化:将非标准的数据,统一格式化成结构数据。2) 标准化:将数据标准化,根据字典消除不一致的缩写等等。3) 校验:对标准化的数据进行一致性校验,即在内容上修改错误。4) 匹配:在其它记录中寻找相似的记录,发现重复异常。5) 消除重复记录:根据匹配结果进行

34、处理,可以删除部分记录或者多个记录合并为一个更完整信息的记录。6) 档案化:将前 5个步骤的结果写入元数据存储中心。这样可以更好地进行后续的清理过程,DW/MIS 中 ETL 的建设29使得用户容易理解数据库以及更好地进行切片、切块等操作。另外,还可以通过范围检验、枚举清单和相关业务逻辑检验三种方法来进行检验和处理:1) 范围检验:检验一个字段中的数据是否落在预期范围之内,一般如日期范围、年龄范围或地区范围等。2) 枚举清单:对照数据字段可接受值的清单,以确定检验字段是否需要处理。3) 相关业务逻辑检验:让有业务经验的人员结合实际的业务逻辑,在保证数据有效性的前提下,决定对无法清洗的数据的取舍

35、。 3.4.4 目标数据表的刷新目标表的加载策略决定了加载数据的频度。一些目标表是不需要更新的,而一些目标表在每日夜晚加载,一些可能每周、每月加载。制定目标表的刷新策略需要 ETL 工具的支持,工具对于更新的时间点或周期必须能够灵活处理。在以下三种策略中,所有的数据都依据时间戳等要素与现存数据进行比较。1) 维表加载可考虑如下实施步骤:(1)根据目标表的格式和自然键将输入的数据组织成记录;(2)确定目标表的数据与源数据表之间的记录映射规则;(3)抽取有效记录中的代理键、自然健和重要的改变列;(4)使用输入的记录,对抽取的维表做一个查找操作,如果找不到与输入记录相同的记录,那么建立一条新记录并指

36、派一个新的代理键,并将记录插入目标表中。若找到,则对重要的改变列进行更新;(5)加载和更新维表记录。2) 事实表加载事实表的加载是后续数据分析的基础。所有的事实表都应该始终增加数据。事实表的粒度决定了数据加载的复杂程度,它不是简单的数据拷贝,必须首先将每个事实表与DW/MIS 中 ETL 的建设30各自的维表键结合。每个与事实表相关的源数据表必须有足够的信息来查找维表中自然键,验证事实记录的完整性。3) 聚集表加载加载聚集表则不用担心数据的完整性、一致性,因为事实表包含的所有必须的数据可以形成聚集表。可以考虑如下实施步骤:(1) 完全替换聚集表中的变化的数据记录;(详细级)(2) 插入一条汇总

37、数据。(概括级)3.5 ETL实施建议根据业界的经验和教训,在 ETL实施过程中,还有以下要点值得引起注意: 尽可能利用数据中转区对生产数据进行预处理。保证了集成与加载的高效性。 ETL的过程应该是主动“拉取” ,而不是从内部“推送” ,其可控性将大为增强。 ETL实施之前,应制定流程化的配置管理和标准协议。 关键数据标准至关重要。DW&MIS 面临的最大挑战是当接收数据时各源系统数据的异构性和低质量,例如:DCC 系统按照客户编号和账号管理数据,总账信息管理系统按照指标号进行帐目数字管理,国内信用证系统则按照信用证编号管理。而 ETL需要对这三个系统进行集成以获得对客户的全面视角。这一过程 需要复杂的匹配规则、客户编号、名称/地址等字段的正常化与标准化。所以 ETL在处理过程,必须定义一个关键数据标准,在此基础上,制定相应的数据接口标准。 在 ETL实施中,必然是 ETL工具和手工编码相结合,这两种方式各有优劣,可从以下几个方面进行比较:ETL工具 手工编码灵活性 比较灵活 最灵活难易程度 相对容易 要求一定技术水平

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报