大数据笔记篇ETL数据仓库技术

Posted 开脚本的演员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据笔记篇ETL数据仓库技术相关的知识,希望对你有一定的参考价值。

这篇讲数据加工的ETL,下图Kettle就是ETL的其中一种工具。(摘自技术博客)



Kettle是一款国外开源的ETL工具,纯java编写, 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。它被设计用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;


ETL是什么?


ETL分别是“Extract”、“ Transform” 、“Load”三个单词的首字母缩写也即数据抽取、转换、装载的过程,但我们日常往往简称其为数据抽取。


ETL包含了三方面:

Extract(抽取):将数据从各种原始的业务系统中读取出来,这是所有工作的前提。一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据。这一部分看上去简单而琐碎,实际上它是 ETL 解决方案的成功实施的一个主要障碍。

Transform(转换):按照预先设计好的规则将抽取得数据进行转换,使本来异构的数据格式能统一起来。任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作:移动数据、根据规则验证数据、数据内容和数据结构的修改、将多个数据源的数据集成、根据处理后的数据计算派生值和聚集值

Load(装载):将转换完的数据按计划增量或全部导入到数据仓库中。也就是说将数据加载到目标系统的所有操作。


 ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。


ETL是BI/DW( Business Intelligence/Data Warehouse , 商务智能/数据仓库)的核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。


关键词解释

关键词解释:

  DW(Data Warehouse)即数据仓库:数据仓库是一个面向主题的、集成的、随时间变化的、信息相对稳定的数据集合,它用于对企业管理和决策提供支持。


  『主题:是指用户使用数据仓库进行决策时所关心的重点方面,例如以订单为主题;集成:是指数据仓库中的信息是经过一系列加工、整理和汇总的过程;随时间变化:记录过去某一时点到当前各个阶段的信息;相对稳定:数据进入数据仓库以后,一般很少进行修改,更多的是相对信息的查询操作。』


BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确的提供报表并提出决策依据,帮助企业做出明智的业务经营决策。



ETL在BI/DW核心的体现


 ETL的作用整个BI/DW系统由三大部分组成:数据集成、数据仓库和数据集市、多维数据分析。通常,商务智能运作所依靠的信息系统是一个由传统系统、不兼容数据源、数据库与应用所共同构成的复杂数据集合,各个部分之间不能彼此交流。从这个层面看:目前运行的应用系统是用户花费了很大精力和财力构建的、不可替代的系统,特别是系统的数据。而新建的商务智能系统目的就是要通过数据分析来辅助用户决策,恰恰这些数据的来源、格式不一样,导致了系统实施、数据整合的难度。此时,非常希望有一个全面的解决方案来解决用户的困境,解决数据一致性与集成化问题,使用户能够从已有传统环境与平台中采集数据,并利用一个单一解决方案对其进行高效的转换。这个解决方案就是ETL。


ETL是BI/DW的核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,其工作量要占整个项目的60%-80%,这是国内外专家从众多实践中得到的普遍共识。


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


ETL过程中实现数据清洗的实现方法

  

首先,在理解源数据的基础上实现数据表属性一致化。为解决源数据的同义异名和同名异义的问题,可通过元数据管理子系统,在理解源数据的同时,对不同表的属性名根据其含义重新定义其在数据挖掘库中的名字,并以转换规则的形式存放在元数据库中,在数据集成的时候,系统自动根据这些转换规则将源数据中的字段名转换成新定义的字段名,从而实现数据挖掘库中的同名同义。

  其次,通过数据缩减,大幅度缩小数据量。由于源数据量很大,处理起来非常耗时,所以可以优先进行数据缩减,以提高后续数据处理分析效率。

  最后,通过预先设定数据处理的可视化功能节点,达到可视化的进行数据清洗和数据转换的目的。针对缩减并集成后的数据,通过组合预处理子系统提供各种数据处理功能节点,能够以可视化的方式快速有效完成数据清洗和数据转换过程。


ETL工具介绍


ETL的工具功能:必须对抽取到的数据能进行灵活计算、合并、拆分等转换操作。目前,ETL工具的典型代表有:

商业软件:Informatica、IBM Datastage、Oracle ODI、Microsoft SSIS…

开源软件:Kettle、Talend、CloverETL、Ketl,Octopus …







以上是关于大数据笔记篇ETL数据仓库技术的主要内容,如果未能解决你的问题,请参考以下文章

大数据数仓基础知识学习笔记

大数据数仓基础知识学习笔记

字节大数据手册火了 ! 离线数据/实时数据/数据仓库ETL/实时交易系统/啥都有 !...

字节大数据手册火了 ! 离线数据/实时数据/数据仓库ETL/实时交易系统/啥都有 !...

BI,数据仓库,ETL,大数据开发工程师有啥区别

实习推荐|中国移动-数据仓库/ETL/BI工程师作业帮-大数据ETL工程师