DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
功能 | DataX | Sqoop |
---|---|---|
运行模式 | 单进程多线程 | MR |
分布式 | 不支持,可以通过调度系统规避 | 支持 |
流控 | 有流控功能 | 需要定制 |
统计信息 | 已有一些统计,上报需定制 | 没有,分布式的数据收集不方便 |
数据校验 | 在core部分有校验功能 | 没有,分布式的数据收集不方便 |
监控 | 需要定制 | 需要定制 |
请参考官网: https://github.com/alibaba/DataX
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
[logan@hadoop101 software]$ tar -zxvf datax.tar.gz -C /opt/module/
[logan@hadoop101 ~]$ python /opt/module/datax/bin/datax.py /opt/module/datax/job/job.json
[main] ERROR Engine -
经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,您提供的配置文件[/opt/module/datax/plugin/reader/._hdfsreader/plugin.json]不存在. 请检查您的配置文件.
由于配置文件缓存导致,删除即可,执行如下 2 条命令。
find /opt/module/datax/plugin/reader/ -type f -name "._*er" | xargs rm -rf
find /opt/module/datax/plugin/writer/ -type f -name "._*er" | xargs rm -rf