Datax ETL工具源码研究

由于公司数据共享交换产品中需要用到数据交换工具,所以对数据交换工具进行了大量的研究,目前比较流行的数据交换工具有Kittle、Sqoop、Kafka Connect、DataX;

以下是个人的一点比对结果:

如下四款工具除了Kittle其他的共同点都是面向插件方式开发,扩展性都比较好。

Kittle

优点:与大数据Hadoop结合比较好,功能比较齐全,强大,支持数据库,文件数据读写,界面拖拽方式操作;

缺点:灵活性比较差,不利于与系统集成。

Sqoop

优点:数据支持JDBC方式,SINK端对大数据支持比较好,支持数据到HDFS、Hive、HBase等数据存储结构中;

缺点:数据写入时对JDBC方式不支持;

Kafka Connect

优点:支持JDBC、支持增量、与Kafka集成比较好,提供了操作和监控的API,支持文件采集

,支持表级采集,支持sql方式采集;

缺点:工具的比较新,成熟度不够高,但是是一款值得关注的好ETL工具;

DataX

优点:支持关系型数据库到关系型数据型数据之间的数据传输,结构设计上不计较合理,数据监控与数据异常处理的比较好,数据交换的效率比较高;

缺点:分布式模式为被开源,只有Standalone模式,目前没有支持到Hadoop,Kafka等大数据存储。

如下是对DataX工具源码研究后绘制的核心类图和流程

你可能感兴趣的:(Datax ETL工具源码研究)