当前位置:   article > 正文

ETL工具大全:Kettle、DataCleaner、canal、DataX

etl工具

数据仓库

传统数据库数据仓库
特征用于操作处理,面向OLTP用于信息处理,面向OLAP
用户DBA、开发经理、主管、数据分析人员
功能日常操作长期信息需求、决策支持
DB设计基于ER模型,面向应用星形、雪花模型,面向主题

ETL

ETL,是Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取、转换、加载至目的端的过程。负责将不同物理机、异构的数据,如文本文件、数据库文件等,经过ETL的抽取、转换、加载到数据仓库中。

数仓架构

1

概念名词解释个人理解
ODS操作性数据仓库,应用场景:
1、在业务系统和数据仓库之间形成一个隔离,ODS直接存放从业务系统抽取过来的数据,这些数据从结构和数据上与业务系统保持一致,降低了数据抽取的复杂性。
2、转移一部分业务系统的查询功能。因为ODS存放的数据与业务系统相同,原来有业务系统产生的报表,现在可以从ODS中产生。
完成数据仓库中不能完成的功能。ODS存放的是明细数据,数据仓库DW或DM存放的是汇聚数据,ODS提供查询明细的功能。
ODS提供冗余备份,原封不动的拷贝过来,只能写入,不能改变,一般会考虑HDFS。可以用时间版本来区分相同的数据。
DW数据仓库,是为企业决策指定过程,提供所有类型数据支持的战略集合,是一个包含所有主题的通用的集合。要求效率足够高,要对进入的数据快速处理。数据质量要确保准确性、扩展性、完整性、可用性。面向主题。DW主要提供查询服务,响应及时。DW的数据也是只允许增加,不允许删除和修改,删除和修改在分布式系统中会小号大量的性能资源。
DM数据集市,以某项应用为出发点而建设的局部DW,只关心自己需要的数据,不会全盘考虑企业整体的数据架构和应用,每个应用有自己的DM。DM结构清晰、针对性强、扩展性好。DM仅仅是单对某一个领域而建立,容易维护修改。

ETL工具

Kettle

开源免费
https://download.csdn.net/download/lilongsy/86721790?spm=1001.2014.3001.5503

https://sourceforge.net/projects/pentaho/files/Pentaho-9.3/client-tools/

Kettle是一款国外开源的ETL工具,使用Java语言编写,可以运行在Windows、Linux、Unix上,数据抽取高效、稳定。Kettle包含Spoon、Pan、Chef、Encr和Kitchen等组件,Spoon是一个图形用户界面,可以方便直观地完成数据转换任务。Spoon可以运行转换和任务,转换用Pan来运行,任务用Kitchen运行。

DataCleaner

开源免费
https://datacleaner.github.io/documentation

Datastage

IBM公司,收费

Informatica

收费

Sqoop

SQL-to-Hadoop 即 “SQL到Hadoop和Hadoop到SQL”。
是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。主要用于在Hadoop与关系型数据库之间进行数据转移,可以将一个关系型数据库(MySQL ,Oracle等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中。
sqoop命令的本质是转化为MapReduce程序。sqoop分为导入(import)和导出(export),策略分为table和query,模式分为增量和全量。

DataX

是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

https://github.com/alibaba/DataX

canal

是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据实时订阅和消费,目前主要支持了MySQL,也支持mariaDB。一个非常成熟的**数据库同步方案,**基础的使用只需要进行简单的配置即可。
canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等。

StreamSets

Streamsets是一个大数据实时采集ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。

数据源支持MySQL、Oracle等结构化和半/非结构化,目标源支持HDFS、Hive、Hbase、Kudu、Solr、Elasticserach等。创建一个Pipelines管道需要配置数据源(Origins)、操作(Processors)、目的地(Destinations)三部分。

参考

https://www.jianshu.com/p/23ec3a386dc9

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/983689
推荐阅读
相关标签
  

闽ICP备14008679号