数据集成

数据集成就是将多个数据源合并存放在一个数据存储中(如数据仓库),从而方便后续的数据挖掘工作

另外,数据集成有更广泛的意义,包括了数据清洗、数据抽取、数据集成和数据变换等操作

数据集成的两种架构:ETL和ELT

ETL(Extract Transform Load),数据抽取、转换、加载,在数据源抽取后首先进行转换,然后将转换的结果写入目的地

  • 架构更简单,分析人员能更好地了解原始数据的变换过程
  • 加载更方便,因为数据入库的时候已经经过转换,只需做少量预处理就能进行加载
  • 主要工具:Kettle、Talend、Apatar、Scriptella、DataX、Sqoop等

ELT(Extract Load Transform),数据抽取、加载、转换,在抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部计算框架(如Spark)来完成转换的步骤

  • 重抽取和加载,轻转换,可以用更轻量的方案搭建起一个数据集成平台
  • 允许BI分析人员无限制地访问整个原始数据,为分析师提供了更大的灵活性,使之能更好地支持业务

ETL和ELT的区别

抽取(E)是将数据从已有的数据源中提取出来

转换(T)是对原始数据进行处理,例如将表输入1和表输入2进行连接形成一张新的表

根据转换(T)发生的顺序和位置,数据集成可以分为ETL和ELT两种架构

其实ETL和ELT可以混合使用(也可以理解为就是ELT)

  • 把原始数据加载到数据仓库后,把常用的、需要复用的或者动态转换影响性能的数据,先转换后冗余到数据仓库
  • 其他的还是走ELT动态转换的流程

Kettle工具

Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window和Linux上运行,不需要安装就可以使用

Kettle中文名称叫水壶,该项目的目标是将各种数据放到一个壶里,然后以一种指定的格式流出

Kettle在2006年并入了开源的商业智能公司Pentaho, 正式命名为Pentaho Data Integeration,简称“PDI”。因此Kettle现在是Pentaho的一个组件

kettle下载

kettle中文网

DataX工具

DataX是阿里开源的一款数据转换中间件

DataX是基于框架+插件完成的,在整体的框架下,我们可以对Reader和Writer进行插件扩充

比如,从MySQL导入到Oracle,就可以使用MySQLReader和OracleWriter插件,装在框架上使用即可

Sqoop工具

Sqoop是一款开源的工具,是由Apache基金会所开发的分布式系统基础架构

Sqoop主要用来在Hadoop和关系型数据库中传递数据

Hadoop实现了一个分布式文件系统,即HDFS。Hadoop的框架最核心的设计就是HDFS和MapReduce

HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

results matching ""

    No results matching ""