DataX(一):DataX简介

1. 什么是 DataX

DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据 库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高 效的数据同步功能。

2. DataX 的设计

为了解决异构数据源同步问题,DataX 将复杂的网状的同步链路变成了星型数据链路, DataX 作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要 将此数据源对接到 DataX,便能跟已有的数据源做到无缝数据同步。

3. 支持的数据源

DataX 目前已经有了比较全面的插件体系,主流的 RDBMS 数据库、NOSQL、大数据计算系统都已经接入。

4. 框架设计

5. 运行原理

举例来说,用户提交了一个 DataX 作业,并且配置了 20 个并发,目的是将一个 100 张 分表的 mysql 数据同步到 odps 里面。 DataX 的调度决策思路是:

1)DataXJob 根据分库分表切分成了 100 个 Task。

2)根据 20 个并发,DataX 计算共需要分配 4 个 TaskGroup(这里的4表示20(并发数)/5(每个TaskGroup并发数量)= 4)。

3)4 个 TaskGroup 平分切分好的 100 个 Task,每一个 TaskGroup 负责以 5 个并发共计运 行 25 个 Task。

6. 与 Sqoop 的对比

### DATAX数据同步工具介绍 DataX是阿里巴巴开源的个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。它采用框架加插件的架构,支持多种数据源的读写,并且具有良好的扩展性,可以方便地添加新的数据源插件。 ### DATAX使用方法 DataX的使用主要通过JSON配置文件来指定数据同步的源端、目的端以及同步的规则等信息。以下是个简单的示例,展示从MySQL数据源同步数据到文件系统的配置文件: ```json { "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "your_username", "password": "your_password", "column": [ "id", "name", "age" ], "connection": [ { "jdbcUrl": [ "jdbc:mysql://localhost:3306/your_database" ], "table": [ "your_table" ] } ] } }, "writer": { "name": "txtfilewriter", "parameter": { "path": "/your/output/path", "fileName": "output.txt", "writeMode": "truncate", "fieldDelimiter": "," } } } ], "setting": { "speed": { "channel": "1" } } } } ``` 将上述配置文件保存为个JSON文件(例如`job.json`),然后在命令行中执行以下命令启动同步任务: ```bash python bin/datax.py job.json ``` ### DATAX与Otter对比 - **功能特点**: - **DataX**:是个离线的数据同步工具,支持多种异构数据源之间的数据迁移,适用于批量数据的同步场景,例如将数据库中的历史数据同步到数据仓库进行分析。它侧重于数据的批量搬运,对于数据的实时性要求不高。 - **Otter**:基于数据库增量日志解析,能够准实时地将数据同步到本机房或者异地机房的MySQL、Oracle、MQ等,更适合对数据实时性要求较高的场景,如实时数据备份、实时数据处理等。它在canal基础上实现了可配置的消费者,提供了个web界面,可以自定义同步任务及map表,非常适合MySQL库之间的同步[^3]。 - **使用场景**: - **DataX**:适用于数据仓库建设、数据迁移、数据集成等场景,主要处理大规模的离线数据同步任务。 - **Otter**:常用于实时数据同步、主从复制、数据分发等场景,强调数据的实时性和致性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值