龙空技术网

|聚焦制造|ETL数据仓库技术(一)

五人联科技 69

前言:

此时姐妹们对“etl技术选型”都比较关注,你们都想要了解一些“etl技术选型”的相关内容。那么小编同时在网摘上收集了一些对于“etl技术选型””的相关内容,希望同学们能喜欢,我们一起来学习一下吧!

ETL(数据仓库),是英文Extract-Transform-Load的缩写。简而言之,ETL的工作,就是输入各种数据源,输出是各种用于分析的表和数据文件。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。那具体什么是ETL呢,通过下面文章带您了解。

一、ETL介绍、解释

1、ETL主要包含三大阶段,分别是数据抽取数据转换数据加载

(1)数据抽取

这个阶段的主要目标是汇总多种数据源,为下一步的转换做准备。在动手做抽取之前,你需要充分了解你的各种数据源,理解并利用他们的特性,结合实际分析业务需求,选择合适的抽取方式。

(2)数据转换

这个阶段是ETL的核心环节,也是最复杂的环节。它的主要目标是将抽取到的各种数据,进行数据的清洗、格式的转换、缺失值填补、剔除重复等操作,最终得到一份格式统一、高度结构化、数据质量高、兼容性好的数据,为后续的分析决策提供可靠的数据支持。

(3)数据加载

这部分的主要目标是把数据加载至目的地,比如数据仓库中。通常的做法是,将处理好的数据写成特定格式(如parquet、csv等)的文件,然后再把文件挂载到指定的表分区上。也有些表的数据量很小,不会采用分区表,而是直接生成最终的数据表。

2、两个架构·(ETL、ELT)

ETL工具目前有两种技术架构—ETL架构和ELT架构,仅TL的顺序不同那么他们有什么区别呢?

ETL架构

ETL架构按其字面含义理解就是按照E-T-L这个顺序流程进行处理的架构;先抽取、然后转换、完成后加载到目标数据库中。

ETL架构优势:

可以分担数据库系统的负载(采用单独的硬件服务器)相对于ELT架构可以实现更为复杂的数据转换逻辑采用单独的硬件服务器与底层的数据库存储无关

ELT架构

在ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既可以在源数据库端执行,也可以在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。当ETL过程需要提高效率,则可以通过对相关数据库进行调优,或者改变执行加工的服务器就可以达到。

ELT架构的优势:

充分利用数据库引擎来实现的可扩展性可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提高系统的可监控性可以根据数据的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘I/O通过对相关数据库进行性能调优,ELT过程获得3到4倍的效率提升比较容易二、为何企业需要ETL?

随着企业的发展,各业务线、产品线、部门都会承建各种信息化系统方便开展自己的业务。随着信息化建设的不断深入,由于业务系统之间各自为政、相互独立造成的“数据孤岛”现象尤为普遍,业务不集成、流程不互通、数据不共享。这给企业进行数据的分析利用、报表开发、分析挖掘等带来了巨大困难。

在此情况下,为了实现企业全局数据的系统化运作管理(信息孤岛、数据统计、数据分析、数据挖掘) ,为DSS(决策支持系统)、BI(商务智能)、经营分析系统等深度开发应用奠定基础,挖掘数据价值,企业会开始着手建立数据仓库,数据中台。将相互分离的业务系统的数据源整合在一起,建立一个统一的数据采集、处理、存储、分发、共享中心。而这个方案就是——ETL(extraction transformation loading)。

通常情况下,企业的数据源分布周期各个子系统和节点中,利用ETL将各地方业务系统的数据,通过自动化FTP或手动控制传到UNIX或NT服务器上进行数据获取、转化处理,然后存储到数据仓库、因为现有业务数据源多,保证数据的一致性,真正理解数据的业务含义,跨越多的平台、多系统整合数据,并最大可能地提高数据的质量,迎合业务需求不断变化的特征,这便是ETL技术的关键所在。

为什么要使用ETL工具当数据来自不同的物理主机,这时候如果使用SQL语句去处理的话就显得比较吃力且开销也更大。数据来源可以是各种不同的数据库或者文件,这时候需要先把他们整理成统一的格式后才可以进行数据的处理,这一过程用代码实现显然有些麻烦。在数据库中当然可以使用存储过程去处理数据,但是处理海量数据的时候存储过程显然比较吃力,并且会占用较多数据库的资源,这可能会导致数据库资源不足,进而影响数据库的性能。

简单来说:ETL是BI项目重要的一个环节,ETL贯穿整个BI解决方案的全过程,完成整个系统的数据处理以及调度。通常情况下,在BI项目中ETL回花掉整个项目至少1/3的是时间,ETL的设计好坏直接影响着BI项目的成败。

三、怎样选择ETL工具

ETL工具的典型代表有:Informatica、Datastage、ODI 、OWB、微软DTS、Beeload、Kettle、久其ETL....那么如何选择一款合适的ETL工具呢?一般来说需要考虑一下几个方面:

1.对平台的支持程度。

2.对数据源的支持程度。

3.抽取和装载的性能是不是较高,且对业务系统的性能影响大不大,倾入性高不高。

4.数据转换和加工的功能强不强。

5.是否具有管理和调度功能。

6.是否具有良好的集成性和开放性。

下面附上一个总体比较表:

工具

优点

缺点

主流工具

Datastage

内嵌一种类BASIC语言,可通过批处理程序增加灵活性,可对每个job设定参数并在job内部引用

早期版本对流程支持缺乏考虑;图形化界面改动费事

Powercenter

元数据管理更为开放,存放在关系数据库中,可以很容易被访问

没有内嵌类BASIC语言,参数值需人为更新,且不能引用参数名;图形化界面改动费事

Automation

提供一套ETL框架,利用Teradata数据仓库本身的并行处理能力

对数据库依赖性强,选型时需要考虑综合成本(包括数据库等)

udis睿智ETL

适合国内需求,性价比高

配置复杂,缺少对元数据的管理

自主研发

相对于购买主流ETL工具成本较低

各种语言混杂开发,无架构可言,后期维护难度大。

ETL工具选型参照表

ETL的过程是怎样?

ETL中还含有哪些技术、ETL模式?

欲知后事如何?点赞加关注,知识干货不迷路!

“所有内容均为公开信息,仅以信息传播为目的,如涉及作品内容,版权和其他问题,请联系我们删除。”

标签: #etl技术选型