从数据仓库到企业数据治理

作者:新兰2023.06.21 17:34浏览量:59

简介:ETL技术( Extract-Transform-Load) 数据仓库技术-比如kettle

ETL技术( Extract-Transform-Load) 数据仓库技术-比如kettle
ETL一词最早出于金融行业,用于形容纳斯达克证券交易所繁忙的一天。借助于ETL技术,数据仓库能够得到建立。数据仓库是一个以新的角度看待数据,以新的逻辑组织数据,以新的方式存储数据的数据库系统。数据仓库的出现,不是要取代数据库,而是要以数据库为基础,对数据进行升华。数据库存储的是原始数据,数据仓库存储的则是处理后的有意义的数据。
数据升华的方式为:从数据库中抽取数据,转换数据,把数据装载到数据仓库中,也就是所谓的ETL过程。
而实现ETL过程的就是ETL工具,代表产品有:Informatica PowerCenter、DataStage、OpenInformatica、Kettle。
其中Kettle是Pan Computing推出的一款开源ETL工具,也是pentaho套件的核心组件之一。
Kettle这个ETL工具,有一个缺点:慢。Kettle处理大数据量时,会有性能问题。这是因为Kettle在设计上存在一个严重的问题:在处理大数据量时,它会使用基于内存的排序。在处理大数据量时,基于内存的排序会消耗大量的内存,如果内存不足以加载待排序的数据时,就会使用硬盘进行辅助排序。这时,硬盘的速度远远低于内存的速度,整个排序过程就会变得非常缓慢。
这个问题已经有人发现了,在2015年Pentaho 6.0版本中,有一个变革性的升级:将原本的Kettle替换成Pentaho Data Integration(简称PDI),也就是Kettle的开源版本。
PDI 6.0版本在处理大数据量时,性能得到极大的提升,其原理就是对大数据量排序时,不再使用基于内存的排序方式。
PDI 6.0的推出,让ETL开发人员看到了希望。所以现在提到ETL工具,一般指的就是PDI。
PDI的核心工作流程就是:获取数据、转换数据、载入数据。因此,PDI有3个主要的操作界面:
(1)转换界面:用于对数据进行转换;
(2)作业界面:用于编排转换操作;
(3)查询界面:用于进行数据库的操作。
一个简单的PDI数据处理流程是这样的:从数据库中把需要的数据抽取出来,在转换界面中进行一些转换操作(过滤、清洗、拆分、字段映射等),最后把处理后的数据装载到目标数据库中。
当然实际应用中,可能需要进行复杂的数据清洗工作,比如把非结构化数据(PDF、图片、视频)中的信息抽取出来,放到结构化数据库中。这时可能需要用到流计算(基于Flink、Spark、Strom等),把结构化数据库和非结构化数据库通过事件驱动的方式连接到一起,进行实时的数据抽取、转换、装载操作(ETL的增强版:ELT)。