- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
---真理惟一可靠的标准就是永远自相符合
数据抽取、清洗与转换 BI 项目中 ETL 设计
ETL 是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程, 目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。
ETL 是 BI 项目最重要的一个环节,通常情况下 ETL 会花掉整个项目的 1/3 的时间,ETL 设计的好坏直接关接到 BI 项目的成败。ETL 也是一个长期的过程,只有不断的发现问题并解决问题,才能使 ETL 运行效率更高,为项目后期开发提供准确的数据。
ETL 的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL 的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS 中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高 ETL 的运行效率。ETL 三个部分中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量是整个 ETL 的 2/3。数据的加载一般在数据清洗完了之后直接写入 DW 中去。
ETL 的实现有多种方法,常用的有三种,第一种是借助 ETL 工具如 Oracle 的OWB、SQLserverXXXX 的 DTS、SQLServerXXXX 的 SSIS 服务、informatic 等实现, 第二种是 SQL 方式实现,第三种是 ETL 工具和 SQL 相结合。前两种方法各有优缺点,借助工具可以快速的建立起 ETL 工程,屏蔽复杂的编码任务,提高速
度,降低难度,但是欠缺灵活性。SQL 的方法优点是灵活,提高 ETL 运行效率,
2
---真理惟一可靠的标准就是永远自相符合
但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,极大的提高 ETL 的开发速度和效率。
数据的抽取
数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统的数据库服务器运行什么 DBMS?是否存在手工数据,手工数据量有多大?是否存在非结构化的数据?等等类似问题,当收集完这些信息之后才可以进行数据抽取的设计。
1、与存放 DW 的数据库系统相同的数据源处理方法
这一类数源在设计比较容易,一般情况下,DBMS(包括 SQLServer,Oracle) 都会提供数据库链接功能,在 DW 数据库服务器和原业务系统之间建立直接的链接关系就可以写 Select 语句直接访问。
2、与 DW 数据库系统不同的数据源的处理方法
这一类数据源一般情况下也可以通过 ODBC 的方式建立数据库链接,如SQLServer 和 Oracle 之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt 或者是.xls 文件,然后再将这些源系统文件导入到 ODS 中。另外一种方法通过程序接口来完成。
3、对于文件类型数据源(.txt,,xls),可以培训业务人员利用数据库工具将这 些数据导入到指定的数据库,然后从指定的数据库抽取。或者可以借助工具实
3
---真理惟一可靠的标准就是永远自相符合
现,如 SQLSERVERXXXX 的 SSIS 服务的平面数据源和平面目标等组件导入 ODS 中去
4、增量更新问题
对于数据量大的系统,必须考虑增量抽取。一般情况,业务系统会记录业务发生的时间,可以用作增量的标志,每次抽取之前首先判断ODS 中记录的时间,然后根据这个时间去业务系统取大于这个时间的所有记录。利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。数据的清洗转换
一般情况下,数据仓库分为 ODS、DW 两部分,通常的做法是从业务系统到ODS 做清洗,将脏数据和不完整数据过滤掉,再从 ODS 到 DW 的过程中转换, 进行一些业务规则的计算和聚合。
1、数据清洗
数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据三大类。
A、不完整的数据,其特征是是一些应该有的信息缺失,如供应商的名称, 分公司的名称,客户的区域信息缺失、业务系统中主表与明细表不能匹配等。需要将这一类数据过滤出来,按缺失的内容分别写入不同Excel 文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。
4
---真理惟一可靠的标准就是永远自相符合
B、错误的数据,产生原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于全角字符、数据前后有不面见字符的问题只能写 SQL 的方式找出来,然后要求客户在
原创力文档


文档评论(0)