ETL入门系列 之 数据整合面临的挑战

2018-08-17  本文已影响24人  小纠结在简书

这些挑战可能包括:政治的、组织性的、功能性的或者技术性的。

方法论:敏捷BI

软件开发者们发现这些结构化的瀑布模型方法并不能适用于所有场景,尤其是在需求经常变化的情况下。为了解决这种需求经常变化的问题,出现了各种不同的“敏捷”开发方法。在这些方法中,也许Scrum方法是最著名的一个。

Pentaho 公司把开发Pentaho BI套件过程中使用的敏捷开发经验提升为敏捷BI方法。这样做不公可以给BI开发者提供一个有效的开发方法,而且可以改进Pentaho BI组件,使之可以用于或支持敏捷的工作方式。

敏捷方法的4条价值观

敏捷宣言12条指导原则的主要含义

ETL设计

在开始构造ETL过程之前,应该在一个比较高的层次使用流程图工具来绘制一个流程图。在较细节的层次上,还要定义好转换的哪一部分可以重用。

例如,数据仓库的日期维度往往是一次性的工作,所以在一个单独的项目里设计一个可复用的日期维度转换。

所以,当开始构造数据转换时要考虑到转换是否要在其他方案里重用?如果重用,你就要花更多时间使转换更有通用性,例如在转换里增加额外的参数以设置不同的时间、数据库类型、连接参数等这些会发生变化的值。

获取数据

获取数据是ETL项目开始后面临的第一个问题。这里面包括:技术问题、企业内部的政策问题、制度问题等。

电子表格问题

在数据获取方面还有一个很大的问题就是数据的格式。在这个领域,最恶名昭著的恐怕就是Excel了。最好的建议就是不要接受以Excel格式提供的数据。除非你确认Excel文件是系统自动生成的而且生成Excel的机器和运行转换的机器属于同一个用户。

失败处理

一个基本的设计原则就是即使数据源没有成功连接,你的ETL作业也应该提示错误后退出,而不是异常退出。Kettle提供了很多功能:

增量数据捕获CDC

辨别出哪些数据发生变化,并抽取那些自上次抽取后发生变化的数据的过程被称为增量数据捕获,也叫CDC。

CDC两种分类

数据质量

在设计数据转换流程时,要提前设想到你的数据会有质量问题,因此要考虑到如何处理这些问题。

数据分析

通过分析可以从技术上和统计上知道数据有多少、数据是什么样子。最常见的分析就是列分析,并获得下面一些分析结果:

数据检验

例如,NULL值检验

上一篇下一篇

猜你喜欢

热点阅读