ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI(商业智能)项目重要的一个环节。
ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。
数据抽取-Extract
数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换,在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。
这一部分需要在调研阶段做大量的工作,首先要搞清楚数据是从几个业务系统中来,各个业务系统的数据库服务器运行什么DBMS,是否存在手工数据,手工数据量有多大,是否存在非结构化的数据等等,当收集完这些信息之后才可以进行数据抽取的设计。
数据清洗转换-Cleaning Transform
数据清洗就是将脏数据和不完整数据过滤掉,在从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。
一般情况下,数据仓库分为ODS、DW两部分。通常的做法是从业务系统到ODS做清洗,将脏数据和不完整数据过滤掉,在从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。
数据加载-Load
数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。
ETL的常用实现方法
[if !supportLists]l [endif]一种是借助ETL工具实现,
[if !supportLists]l [endif]一种是SQL方式实现。
[if !supportLists]l [endif]一种是ETL工具和SQL相结合。
前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。
一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时ETL的概念。
二是数据量,一般都是巨大的,值得你将数据流动的过程拆分成E、T和L。
——————————————————————
啄木鸟学院零基础测试开发优选班就业保障承诺
1、入学签订就业保障协议,提供终身免费就业推荐服务以及在职提升学习课程;
2、保证毕业后三个月内,与用人企业签订正式劳动合同,转正月薪8000元以上;
3、达不到以上就业结果的,一周内赔偿学员就业薪资不足8000元部分的三倍补偿;
4、毕业后三个月内无法成功就业的,退还全部已缴纳学费。
报名链接:https://www.workec.com/form/dynamic/Rk%2B7Y7uq7%2Fs%3D.html?chan=42333
网友评论