浅测评DataX与Kettle
两者作为ETL的常用工具,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环,也是工作量较大的一块。
DataX与DataX的安装与使用这里就不介绍了,可以看:
DataX安装与简单使用
DataWeb的部署与使用
文章目录
一、简单介绍
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
特点:
易用性:没有界面,以执行脚本方式运行,对使用人员技术要求较高。(可以引入官网的提供的datax-web)
性能:数据抽取性能高。
部署:可独立部署
适用场景:
在异构数据库/文件系统之间高速交换数据。
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。作为ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
特点:
易用性:有可视化设计器进行可视化操作,使用简单。
功能强大:不仅能进行数据传输,能同时进行数据清洗转换等操作。
支持多种源:支持各种数据库、FTP、文件、rest接口、hdfs、Hive等源。
部署方便:独立部署,不依赖第三方产品。
适用场景:
数据量及增量不大,业务规则变化较快,要求可视化操作,对技术人员的技术门槛要求低。
二、支持的主流数据源
Kettle支持的数据源更加丰富,但是DataX所支持数据源更加主流(相比我认为DataX占优)
DataX | Kettle |
---|---|
MySQL | AS/400 |
Oracle | Apach |