数据仓库ETL到底是什么?

1

ETL工作的实质就是从各个数据源提取数据,对数据进行转换,并最终加载填充数据到数据仓库维度建模后的表中。只有当这些维度/事实表被填充好,ETL工作才算完成。接下来分别对抽取,转换,加载这三个环节进行讲解:

1. 抽取(Extract)

数据仓库是面向分析的,而操作型数据库是面向应用的。显然,并不是所有用于支撑业务系统的数据都有拿来分析的必要。因此,该阶段主要是根据数据仓库主题、主题域确定需要从应用数据库中提取的数。

具体开发过程中,开发人员必然经常发现某些ETL步骤和数据仓库建模后的表描述不符。这时候就要重新核对、设计需求,重新进行ETL。正如数据库系列的这篇中讲到的,任何涉及到需求的变动,都需要重头开始并更新需求文档。

2. 转换(Transform)

2

数据仓库,百度百科的解释:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

通俗的解释数据仓库

上面的解释不够直白,下面用一个例子来解释一下,比如秦国在统一六国以后,发现其他六国都有自已的文字,很多文字之间差距较大,大家互不认识,为方便统治和管理,秦王开始统一文字。把来自其他各国的文字进行了统一,最终形成了全国通用的文字。方便了以后的使用者。

数据仓库也是类似,一个公司的数据可能来自不同的系统,有MySQL、Oracle、SQLserver等,这些数据之间规则不统一,不能直接拿来使用,所以为了方便的使用,就把它们取来放到一个统一规则的地方,然后就可以对这些数据进行使用,比如:数据挖掘、数据分析、制作报表等。而这个地方存放数据的地方就叫数据仓库。


为了方便、稳定、安全的使用数据。数据仓库必须有规则

3

数据仓库ETL用于一些需要进行大数据量处理的项目中,ETL可以将业务系统中的数据经过抽取、清洗转换加载进数仓中,将企业中零散、杂乱、不统一的数据进行规划整合

在ETL中有两个组件,一个叫做转换,一个叫做作业,两者可以相互调用,也可以各自独立调用,具体方式根据实际情况而定。在一般情况下,转换是从业务系统中抽取数据加工并处理,作业则是用来调用多个转换,实现快速的管理在转换中配置流程时,在业务系统中对数据进行加工和处理,但是在从业务系统中抽取数据前,需要明白自己需要什么数据,需要将它们转换成什么样。

在ETL中,既可以手动执行,也可以通过一些其他产品的功能对作业进行手动或定时执行。以数通畅联为例,在我们公司的ESB中,通过使用定时流程并对组件进行扩展代码,可以调用ETL的作业,也可以通过我们公司的DAP手动对ETL流程进行调用。

数通畅联专注于企业IT架构、SOA综合集成、数据治理分析领域,感谢您的阅读与关注。

4

对于做过 BI 开发的朋友,ETL 并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL 就这三个阶段,Extraction 抽取,Transformation 转换,Loading 加载。

从不同数据源抽取数据 EXTRACTION ,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。

再通俗一点讲,ETL 的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。

在开发的时候,大部分时候会通过 ETL 工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER 里面的 SSIS 等等,在结合基本的 SQL 来实现整个 ETL 过程。

也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL 实现。

5

ETL定义就不说了,楼上已经过,这里重点分享下一般企业中ETL的工作模式和实现工具。

我们可以把数据仓库划分为数据采集、数据存储和数据应用三个层次。


数据采集

数据采集包括结构化数据的采集和非结构化数据的采集,传统型数据仓库和nosql型数据仓库的做法区别较大。


6

什么是ETL呢?

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

国内最好的ETL的数据交换平台是什么?

RestCloud ETL数据交换平台通过可视化的拖、拉、拽即可完成ETL流程的构建并实现数据抽取、转换、清洗、脱敏、加载等功能,RestCloud ETL从架构、易用性、传输性能、可视化、 功能丰富性等方面均全面超越Kettle等开源ETL工具。

推荐ETL的工具用RestCloud比较好,平台支持在MongoDB中存储所有源表到目标表之间的交换数据。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章