云和教育:云和数据集团旗下高端ICT职业教育品牌
  • 国家级全民数字素养与技能培训基地
  • 河南省第一批产教融合型企业建设培育单位
  • 郑州市数字技能人才(码农)培养评价联盟

Sqoop和datax对比

  • 作者:云和教育
  • 日期:2022-01-17
  • 浏览:1,826次

Sqoop主要特点

11.jpg

1、可以将关系型数据库中的数据导入hdfshive或者hbasehadoop组件中,也可将hadoop组件中的数据导入到关系型数据库中;

2sqoop在导入导出数据时,充分采用了map-reduce计算框架,根据输入条件生成一个map-reduce作业,在hadoop集群中运行。采用map-reduce框架同时在多个节点进行import或者export操作,速度比单节点运行多个并行导入导出效率高,同时提供了良好的并发性和容错性;

3、支持insertupdate模式,可以选择参数,若内容存在就更新,若不存在就插入;

4、对国外的主流关系型数据库支持性更好。

Datax主要特点:

1、异构数据库和文件系统之间的数据交换;

12.jpg

2、采用Framework + plugin架构构建,Framework处理了缓冲,流控,并发,上下文加载等高速数据交换的大部分技术问题,提供了简单的接口与插件交互,插件仅需实现对数据处理系统的访问;

3、数据传输过程在单进程内完成,全内存操作,不读写磁盘,也没有IPC

4、开放式的框架,开发者可以在极短的时间开发一个新插件以快速支持新的数据库/文件系统。


Sqoop和Datax的区别:

1sqoop采用map-reduce计算框架进行导入导出,而datax仅仅在运行datax的单台机器上进行数据的抽取和加载,速度比sqoop慢了许多;

2sqoop只可以在关系型数据库和hadoop组件之间进行数据迁移,而在hadoop相关组件之间,比如hivehbase之间就无法使用sqoop互相导入导出数据,同时在关系型数据库之间,比如mysqloracle之间也无法通过sqoop导入导出数据。与之相反,datax能够分别实现关系型数据库hadoop组件之间、关系型数据库之间、hadoop组件之间的数据迁移;

3sqoop是专门为hadoop而生,对hadoop支持度好,而datax可能会出现不支持高版本hadoop的现象;

4sqoop只支持官方提供的指定几种关系型数据库和hadoop组件之间的数据交换,而在datax中,用户只需根据自身需求修改文件,生成相应rpm包,自行安装之后就可以使用自己定制的插件;