大数据同步工具DataX与Sqoop之比较

  DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据">处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成。Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。同样是大数据异构环境数据同步工具,二者有什么差别呢?本文转自Dean的博客。

  从接触DataX起就有一个疑问,它和Sqoop到底有什么区别,昨天部署好了DataX和Sqoop,就可以对两者进行更深入的了解了。

  两者从原理上看有点相似,都是解决异构环境的数据交换问题,都支持oracle,mysql,hdfs,hive的互相交换,对于不同数据库的支持都是插件式的,对于新增的数据源类型,只要新开发一个插件就好了,

  但是只细看两者的架构图,很快就会发现明显的不同

  DataX架构图

  大数据同步工具DataX与Sqoop之比较

  Job: 一道数据同步作业

  Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务.

  Sub-job: 数据同步作业切分后的小任务

  Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX

  Storage: Reader和Writer通过Storage交换数据

  Writer(Dumper): 数据写出模块,负责将数据从DataX导入至目的数据地

  Sqoop架构图

  大数据同步工具DataX与Sqoop之比较

  DataX 直接在运行DataX的机器上进行数据的抽取及加载。

  而Sqoop充分里面了map-reduce的计算框架。Sqoop根据输入条件,生成一个map-reduce的作业,在Hadoop的框架中运行。

  从理论上讲,用map-reduce框架同时在多个节点上进行import应该会比从单节点上运行多个并行导入效率高。而实际的测试中也是如此,测试一个Oracle to hdfs的作业,DataX上只能看到运行DataX上的机器的数据库连接,而Sqoop运行时,4台task-tracker全部产生一个数据库连接。调起的Sqoop作业的机器也会产生一个数据库连接,应为需要读取数据表的一些元数据信息,数据量等,做分区。

  Sqoop现在作为Apache的顶级项目,如果要我从DataX和Sqoop中间选择的话,我想我还是会选择Sqoop。而且Sqoop还有很多第三方的插件。早上使用了Quest开发的OraOop插件,确实像quest说的一样,速度有着大幅的提升,Quest在数据库方面的经验,确实比旁人深厚。

  大数据同步工具DataX与Sqoop之比较

  在我的测试环境上,一台只有700m内存的,IO低下的oracle数据库,百兆的网络,使用Quest的Sqoop插件在4个并行度的情况下,导出到HDFS速度有5MB/s ,这已经让我很满意了。相比使用原生Sqoop的2.8MB/s快了将近一倍,sqoop又比DataX的760KB/s快了两倍。

  另外一点Sqoop采用命令行的方式调用,比如容易与我们的现有的调度监控方案相结合,DataX采用xml 配置文件的方式,在开发运维上还是有点不方便。

  附图1.Sqoop with Quest oracle connector

时间: 2024-09-20 06:02:02

大数据同步工具DataX与Sqoop之比较的相关文章

大数据异构环境数据同步工具DataX 与Sqoop 之比较

从接触DataX起就有一个疑问,它和Sqoop到底有什么区别,昨天部署好了DataX和Sqoop,就可以对两者进行更深入的了解了. 两者从原理上看有点相似,都是解决异构环境的数据交换问题,都支持oracle,mysql,hdfs,hive的互相交换,对于不同数据库的支持都是插件式的,对于新增的数据源类型,只要新开发一个插件就好了, 但是只细看两者的架构图,很快就会发现明显的不同 DataX架构图 Job: 一道数据同步作业 Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任

使用阿里巴巴开源数据库同步工具DATAX实现跨数据库同步

使用阿里巴巴开源数据库同步工具DATAX实现跨数据库同步 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.HBase.OTS.ODPS 等各种异构数据源之间高效的数据同步功能. 点击进入 先请配置DataX 环境变量 Linux.Windows JDK(1.8) Python(推荐Python2.6.X) Apache Maven 3.x (Compile DataX) 下面演示dataX 配置示例:从M

rsync一个Linux平台下的远程数据同步工具

rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN快速同步多台主机之间的文件.也可以使用 rsync 同步本地硬盘中的不同目录.rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. 您可以参考 How Rsync Works A Practical Overview 进一步了解 rsync 的运作机制.rsync 的初始作者是 And

centos 6.0下安装rsync远程数据同步工具

Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的"Rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的主配置文件.Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,

数据新闻周报:资本活跃,“数据美国”在线大数据可视化工具上线

行业趋势 近日,麻省理工学院推出了一款名为"数据美国"的在线大数据可视化工具,可以实时分析展示美国政府公开数据库.用户只需要输入任意美国地名,就可以检索到反映当地人口统计数据的可视化图表,包括平均家庭收入.房价等.该工具不但对求学.就业.生活.旅游.购物具有极高的参考价值,而且这些社会学大数据经过各种不同的可视化图表展示,可以生成大量"数据新闻",揭示超出人们经验范围的数据.同时,"数据美国"也是政务公开大数据造福社会的一个活生生的应用案例.该项

一季度大数据热门工具相关事件整理

文章讲的是一季度大数据热门工具相关事件整理,今年一季度,大数据开源圈内最热闹的一件事大概就是Hadoop迎来了它的十岁生日,收到了来自世界各地的各种祝福.Hadoop正式诞生于2006年1月28日,作为一个开源项目的生态系统,它从根本上改变了企业存储.处理和分析数据的方式:Hadoop可以在相同的数据上同时运行不同类型的分析工作. 那一周,有媒体整理了Hadoop这十年来的数据变化:核心Hadoop中目前的代码行数为170万+.自2006年来对Hadoop的提交数量超过12000.自2006年来

视广通钱勇:大数据是工具 不是目的

9月11日,视广通受邀参加了北京市经济和信息化委员会举办的北京市大数据企业第一次调研会.视广通公司的参会代表汇报了公司业务情况,介绍了企业对大数据的认识,并与各企业同行做了深度交流. 资料照片:视广通总经理 钱勇 作为一家充分应用大数据技术的公司,视广通一贯以来对大数据有着独到的理解.视广通总经理钱勇曾不止一次提到:大数据是工具,不是目的,是实现企业目标的手段.如果只是追求大数据这一新奇的概念,为了大数据而大数据,不考虑其如何为商业模式服务,那就把大数据变成了摆在桌上的花瓶,起不到实际的作用和应

做项目首先要选好大数据可视化工具

       数据化运营越来越流行,很多企业都忙着运营起一个个大大小小的项目.但是还是有很多企业的IT人员没能把项目做好,问题漏洞百出.其实做项目首先的一步,就是选好一款适用的大数据可视化工具.俗话说得好,要先工其事,必先利其器.一款好的大数据可视化工具会更有利于数据可视化分析项目的后续开展.那么,大数据可视化工具该怎么选呢,接下来我们来看看.          市面上各式各样的大数据可视化工具有很多,有的是自助式的小型BI,有的是比较复杂的高端BI.项目有大有小,当有的项目没那么复杂,如果配上

C#如何开发ETL数据同步工具,大数据同步如何解决

问题描述 现在公司要开发全面软件预算系统,要涉及大量的和其它系统的数据同步操作,原来一直用Kettle开源的ETL做数据同步但用起来不是很稳定,现想用C#开发一个桌面程序用来同步数据假如设想以下办法1.用Ado.net将来源服务器数据查到DataTable中再用SqlBulkCopy一次性导入到目标服务器中优点:只要DataTable能撑住就可以实现,但不知道稳不稳定缺点:数据存储量应该有限制这种应该是存在内存上的对吧100W条记录估计要来回查询N次2.用用Ado.net的DataReader一