- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲 数据抽取、转换和装载 数据抽取、转换和装载 目标: 广泛了解ETL的功能 检查数据抽取功能(挑战、技术、评估和应用) 数据转换功能的任务和类型 理解数据整合和合并的意义 认识数据装载功能的重要性,了解将数据应用到数据仓库的主要方法 理解为何说ETL非常重要、耗时和艰巨的任务 Contents ETL概览 数据抽取 数据转换 数据装载 ETL总结 ETL概览 Contents 最重要和最具有挑战性 耗时而且费劲 ETL的需求和步骤 关键因素 1.最重要和最具有挑战性 ETL功能具有挑战性,是因为源系统的性质 源系统彼此悬殊,种类多样,通常需要应付多个平台上的不同操作系统 很多源数据都是陈旧的应用系统采用的是过时的技术 旧系统中的数据质量各不相同,需要花很多时间进行处理 历史数据通常不会被保存在操作型系统中,但对于DW至关重要。 源系统之间普遍缺乏一致性。在不同的源系统中,相同的数据可能会用不同的形式来代表,且缺乏解决方法,导致不一致问题更加严重 源系统的结构随着时间会发生变化,因为新的商业条件不断出现。ETL功能也必须相应的调整 大多数源系统的数据格式和类型对用户没有实际的含义,而且很多展现方式模糊而晦涩的。 2.耗时而且费劲 50%~70%的时间花费在ETL上 抽取: what? where? when? 转换:How?定义结构、缺失值补充、格式转换 装载:Long Time(测试) 抽取和应用变化着的数据有困难 3.ETL的需求和步骤 ETL过程涉及的各个方面 将几个数据源结构组合成数据仓库目标数据库中的行 将一个源数据结构分成若干个结构放入目标数据库中的若干行 从源系统数据字典和目录中读取数据 从多种文件结构中读取数据,包括平面文件、索引文件、旧系统数据库 装载大量原子事实表的细节 为大量聚集表或事实表做聚集 将数据从源系统平台上的一种格式转换成目标平台上的另一个格式 将晦涩的数值改变成对用户有意义的值 4.关键因素 数据抽取、转换复杂性源于源系统巨大的差异性 硬件平台 OS DBMS Protocol 遗留的旧系统 与数据装载相关 最初装载和定期装载本身都需要大量时间(必须找和合适的时间) 增量转载中的特殊问题 如何捕获源系统的变化,且不影响源系统工作 不影响DW用户使用情况下装载 Contents ETL概览 数据抽取 数据转换 数据装载 ETL总结 二、数据抽取 两个因素增加了抽取工作的复杂度(相比操作型系统的ET) 1. 更多不同的系统中抽取 2. 增量装载 数据抽取的一些要点: 数据源确认:确认数据的源系统和结构 抽取方法:针对每个数据源,定义抽取过程是人工抽取还是基于工具的抽取(工具自己编写的还是购买的) 抽取频率:对于每个数据源,确定数据抽取的频率,每天、每星期、每季度等等 时间窗口:对于每个数据源,表示出抽取过程进行的时间窗口 工作顺序:决定抽取任务中某项工作是否必须等到前面工作成功完成,才能开始 异常处理:决定如何处理无法完成抽取的输入记录 数据抽取:1.数据源确认 关键因素 :是否可以提供数据仓库需要的值? 大量的时间和复杂彻底的分析 例子:利用订单数据提供战略信息 订单:订单数量、折扣、佣金、希望运输时间、实际运输时间、不同处理阶段时间等 维度表:产品、订单部署、运输渠道、客户 数据抽取:2.数据抽取技术 源系统中的数据是依赖时间变化的 在数据仓库中不能忽略历史信息 如何从源系统中捕获历史数据?—— 数据如何存储在源系统中的。 源系统中的数据如何保存? 当前值 存储的值是代表当前属性的值,可能会改变,但何时改变则无法预知。为保存历史变化的DW在这类系统中抽取数据很棘手。 周期性的状态 例如随时间变化的政策(利率等) 变化的数据存储在源系统中,为DW而进行的抽取相对容易 例子 数据抽取 从源操作系统中捕获数据 1.静态数据 一般用于在数据仓库初始装载的时候进行 是相关数据源在某个时刻的快照 静态数据的抽取包括 当前值的抽取 周期性数据的抽取:每个时间点的值的获取 2.修正数据 2.修正数据:追加的数据捕获 是最后一次捕获数据后的修正 追加的数据捕获可能是立刻进行的或者延缓进行的 立即型数据捕获: 数据抽取发生在源系统中发生交易的时候,数据抽取是即时的或者实时的。 三种不同的方法 延缓型数据捕获:非即时的或实时的数据抽取 两种不同的方法 数据抽取 立即型 通过交易日志捕获数据:日志本来就是DBMS所应该存储的为应付突发情况的备份。 没有额外开销。需要保证日志刷新之前,已抽取了所有记录。 缺点:如果源数据不是基于DB的则无法进行此方式的数据捕获 使用数据库复制技术 从数据库触发器中捕获数据 缺点1:只能捕获基于DB的数据 缺点2:建立和维护触发器以及触发器的执行增加了开销 从源
文档评论(0)