由于公司數(shù)據(jù)共享交換產(chǎn)品中需要用到數(shù)據(jù)交換工具,所以對數(shù)據(jù)交換工具進(jìn)行了大量的研究,目前比較流行的數(shù)據(jù)交換工具有Kittle、Sqoop、Kafka Connect、DataX;
以下是個人的一點比對結(jié)果:
如下四款工具除了Kittle其他的共同點都是面向插件方式開發(fā),擴(kuò)展性都比較好。
Kittle
優(yōu)點:與大數(shù)據(jù)Hadoop結(jié)合比較好,功能比較齊全,強大,支持?jǐn)?shù)據(jù)庫,文件數(shù)據(jù)讀寫,界面拖拽方式操作;
缺點:靈活性比較差,不利于與系統(tǒng)集成。
Sqoop
優(yōu)點:數(shù)據(jù)支持JDBC方式,SINK端對大數(shù)據(jù)支持比較好,支持?jǐn)?shù)據(jù)到HDFS、Hive、HBase等數(shù)據(jù)存儲結(jié)構(gòu)中;
缺點:數(shù)據(jù)寫入時對JDBC方式不支持;
Kafka Connect
優(yōu)點:支持JDBC、支持增量、與Kafka集成比較好,提供了操作和監(jiān)控的API,支持文件采集
,支持表級采集,支持sql方式采集;
缺點:工具的比較新,成熟度不夠高,但是是一款值得關(guān)注的好ETL工具;
DataX
優(yōu)點:支持關(guān)系型數(shù)據(jù)庫到關(guān)系型數(shù)據(jù)型數(shù)據(jù)之間的數(shù)據(jù)傳輸,結(jié)構(gòu)設(shè)計上不計較合理,數(shù)據(jù)監(jiān)控與數(shù)據(jù)異常處理的比較好,數(shù)據(jù)交換的效率比較高;
缺點:分布式模式為被開源,只有Standalone模式,目前沒有支持到Hadoop,Kafka等大數(shù)據(jù)存儲。
如下是對DataX工具源碼研究后繪制的核心類圖和流程
