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

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

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

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

DataX架构图

  • Job: 一道数据同步作业
  • Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务.
  • Sub-job: 数据同步作业切分后的小任务
  • Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX
  • Storage: Reader和Writer通过Storage交换数据
  • Writer(Dumper): 数据写出模块,负责将数据从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在数据库方面的经验,确实比旁人深厚。

  • Transfer highly clustered data more than five times faster than with Sqoop alone
  • Avoid scalability issues that can occur with Sqoop when data has no primary key or is not stored in primary key order
  • Reduce CPU by up to 80 percent and IO time by up to 95 percent
  • Prevent disruption to concurrently running Oracle workload
  • Get free use of Data Transporter for Hive, a Java command-line utility that allows you to execute a Hive query and insert the results into an Oracle table

在我的测试环境上,一台只有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-11-08 19:53:53

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

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

DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据http://www.aliyun.com/zixun/aggregation/34332.html">处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成.Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以

使用阿里巴巴开源数据库同步工具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

【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式

免费开通大数据服务:https://www.aliyun.com/product/odps 想用阿里云大数据计算服务(MaxCompute),对于大多数人首先碰到的问题就是数据如何迁移到MaxCompute中.按照数据迁移场景,大致可以分为批量数据.实时数据.本地文件.日志文件等的迁移,下面我们针对每种场景分别介绍几种常用方案. 大数据计算服务(MaxCompute) 快速.完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海

《数据科学实战手册(R+Python)》一第1章 准备你的数据科学环境

第1章 准备你的数据科学环境 数据科学实战手册(R+Python)本章涵盖如下内容: 理解数据科学管道 在Windows.Mac OS X和Linux上安装R 在R和RStudio中安装扩展包 在Linux和Mac OS X上安装Python 在Windows上安装Python 在Mac OS X和Linux上安装Python数据分析库 安装更多Python包 安装和使用virtualenv 简介传统意义上的食谱,就是作者擅长的烹饪菜谱,用于帮助读者学习新菜的做法.很多人相信,对于一份食谱而言,

阿里巴巴开源离线同步工具 DataX3.0 介绍

一. DataX3.0概览 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高效的数据同步功能. 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源.当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步. 当前使用现状 DataX在阿里巴巴集团

Super Flexible File Synchronizer 5.71发布 文件同步工具

Super Flexible http://www.aliyun.com/zixun/aggregation/19352.html">File Synchronizer 是一款数据备份和文件同步工具,可以同步个人电脑.苹果电脑.服务器.笔记本电脑和在线存储功能.你可以根据自己的需要手动或使用排程进行多个不同的设置,它支持本地硬盘驱动器和其他安装卷,还支持FTP.SSH.HTTP.WebDAV.Amazon S3 和谷歌文档.你可以使用Zip压缩和数据加密,强大的同步模式,包括标准复制,精确

铁庵:NoSQL、RDS和大数据异构融合实战,详解PostgreSQL FDW功能原理

直播视频: (点击图片查看视频) 幻灯片下载地址:https://oss-cn-hangzhou.aliyuncs.com/yqfiles/e95acb3cc257c377ad8df5e944760638.pdf Why PostgreSQL ? 图一  PostgreSQL的发展历程 PostgreSQL的前身为ingres Database,从1973年伯克利分校的Ingres项目至今,PostgreSQL现已经过了几十年的发展.相比较于广泛使用MySQL开源数据库,我们之所以对Postgr

阿里巴巴开源项目: 阿里巴巴去Oracle数据迁移同步工具

背景 08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步. 项目介绍 名称: yugong 译意: 愚公移山 语言: 纯java开发 定位: 数据库迁移 (目前主要支持oracle -> mysql/DRDS) 项目

强烈推荐!大数据领域的顶级开源工具大集合

随着大数据与预测分析的成熟,开源作为底层技术授权解决方案的最大贡献者的优势越来越明显. 如今,从小型初创企业到行业巨头,各种规模的供应商都在使用开源来处理大数据和运行预测分析.借助开源与云计算技术,新兴公司甚至在很多方面都可以与大厂商抗衡. 以下是一些大数据方面的顶级开源工具,分为四个领域:数据存储.开发平台.开发工具和集成.分析和报告工具. 数据存储: Apache Hadoop– Cloud Foundry(VMware), Hortonworks, Hadapt NoSql 数据库 – M