一、DataX概述
-
简介
DataX
是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据
库
(MySQL
、
Oracle
等
)
、
HDFS
、
Hive
、
ODPS
、
HBase
、
FTP
等各种异构数据源之间稳定高
效的数据同步功能。
-
设计
为了解决异构数据源同步问题,
DataX
将复杂的网状的同步链路变成了星型数据链路,
DataX
作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要
将此数据源对接到
DataX
,便能跟已有的数据源做到无缝数据同步。
-
支持的数据源
DataX 目前已经有了比较全面的插件体系,主流的 RDBMS 数据库、NOSQL、大数据计算系统都已经接入。
-
框架设计
-
运行原理
举例来说,用户提交了一个
DataX
作业,并且配置了
20
个并发,目的是将一个
100
张
分表的
mysql
数据同步到
odps
里面。
DataX的调度决策思路是:
1
)
DataXJob
根据分库分表切分成了
100
个
Task
。
2
)根据
20
个并发,
DataX
计算共需要分配
4
个
TaskGroup
。
3
)
4
个
TaskGroup
平分切分好的
100
个
Task
,每一个
TaskGroup
负责以
5
个并发共计运
行
25
个
Task
。
二、与Sqoop的对比