开发者社区> 隐林> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute

简介: 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
+关注继续查看

概述

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。

离线数据同步在大数据分析,数据备份,数据同步等应用场景中都会被用到,所以本文特别介绍阿里开源的这款神器:DataX!

准备工作

  1. 环境准备:Linux服务器一台,安装有JDK8,maven和python 2.6+;

  2. 下载源码:https://github.com/alibaba/DataX.git

  3. 解压后编译源码:mvn -U clean package assembly:assembly -Dmaven.test.skip=true

出现以下信息,表示编译成功(编译时间稍长,由于DataX支持的数据源很多,对应的依赖包也比较多,所以可能需要20min左右编译时间,具体视下载速度和机器性能而定):

fb3a20a220799ae3b890ea64cdd2f86d5cd2e430

常见错误:

  • 在第3步可能会出现无法编译tablestore-streamclient的错误,请到https://mvnrepository.com/artifact/com.aliyun.openservices/tablestore-streamclient/1.0.0 下载相应的包并放到maven相应路径下;

工具使用

成功编译DataX后,在cd target/datax/datax/目录下就会生成可执行文件,我们就可以来使用DataX同步各种格式的离线数据(具体看参考:https://github.com/alibaba/DataX/blob/master/userGuid.md),如下:

53a3f40cd498be6ac0825de03e1ed70815a36cf8

不在这个表格中的数据源格式你可以通过自定义插件编写,具体编码可参考:https://github.com/alibaba/DataX/blob/master/dataxPluginDev.md

比如我们实现一个最简单的任务,将JSON格式化数据输出到控制台:

  1. 切换目录:cd target/datax/datax/bin,比如在我们的192.168.1.63的服务器,切换到目录:/home/data-transfer/datax/target/datax/datax/bin

  2. 查看配置格式命令:python datax.py -r streamreader -w streamwriter

  3. 编写配置文件,stream2stream.json文件如下:

 1{
2  "job": {
3    "content": [
4      {
5        "reader": {
6          "name""streamreader",
7          "parameter": {
8            "sliceRecordCount"10,
9            "column": [
10              {
11                "type""long",
12                "value""10"
13              },
14              {
15                "type""string",
16                "value""hello,你好,世界-DataX"
17              }
18            ]
19          }
20        },
21        "writer": {
22          "name""streamwriter",
23          "parameter": {
24            "encoding""UTF-8",
25            "print"true
26          }
27        }
28      }
29    ],
30    "setting": {
31      "speed": {
32        "channel"5
33       }
34    }
35  }
36}
  1. 运行脚本:python datax.py ./stream2stream.json,执行后控制台输出:038be265e5cb239b0be5f6e6f31c7295550d1021

再比如mysql到mysql的离线数据同步,可使用:
python datax.py -r mysqlreader -w mysqlwriter 获取配置文件模板;

更多的writer可参看plugins目录下的writer文件夹(官方默认包含的Writer,支持自定义可扩展)

95185e59281f49e696c40cdffb235d7ac88430b5

更多的reader可参看plugins目录下的reader文件夹(官方默认包含的Reader,支持自定义可扩展):

9f9ed3e3b0ed82de488fd772b3a40c55de1e2094


注:如果要使用离线增量同步数据,可指定配置文件中的where过滤;


文章转自:空山雪林 Sumslack团队


更多交流咨询欢迎加入“MaxCompute开发者社区”钉钉群,群号: 11782920,或扫描二维码入群。

https://www.aliyun.com/product/odps
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《阿里云MaxCompute百问百答》下载
为了更好地帮助广大MaxCompute用户解决可能遇到的问题,阿里云 MaxCompute团队基于MaxCompute开发者社区和其它渠道反馈的问题,总结归纳 出MaxCompute各个功能点的常见问题,希望可以给正在学习和使用MaxCompute 的用户提供一些帮助。
11 0
阿里云 MaxCompute 2022-10月11月刊
本刊为您带来 2022年10月、11月 MaxCompute 产品最新动态。
39 0
《阿里云MaxCompute百问百答》下载地址
为了更好地帮助广大MaxCompute用户解决可能遇到的问题,阿里云 MaxCompute团队基于MaxCompute开发者社区和其它渠道反馈的问题,总结归纳 出MaxCompute各个功能点的常见问题,希望可以给正在学习和使用MaxCompute 的用户提供一些帮助。
12 0
阿里云 MaxCompute 2021-11 月刊
2021年11月阿里云MaxCompute集成网易有数BI工具商业化发布;MaxCompute 专有网络连接管理产品化发布;MaxCompute 支持清空分区表中指定分区的数据。更多详情欢迎阅读本文。
469 0
阿里云 MaxCompute 2021-10 月刊
2021年10月,MaxCompute集成观远数据(GuanData)BI工具(商业化)发布,MCQA(MaxCompute Query Acceleration)查询缓存机制商业化发布,外表支持Hbase增强版和云原生多模数据库 Lindorm。
866 0
阿里云 MaxCompute 2021-9 月刊
MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,基于MaxCompute与推荐、搜索、机器学习等产品可以构建智能推荐、用户增长等多种常用的解决方案。同时MaxCompute具备大规模数据科学分析、半结构化数据处理能力,也可提供基于Delta lake、Hudi格式的湖仓一体方案 。9月MaxCompute金融云华南1(深圳)节点正式开服。
647 0
MaxCompute Tunnel 日常工作使用讲解|阿里云产品内容精选(四十六)
MaxCompute是面向分析的企业级SaaS模式云数据仓库,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
241 0
阿里云 MaxCompute 2021-8 月刊
8月MaxCompute最新发布多项新功能,包括MaxCompute SQL 支持物化视图;流式数据通道服务功能商业化发布;SQL UPDATE、DELETE和MERGE INTO功能商业化发布;支持读取 OSS 上 Hudi、Delta Lake 格式文件;支持访问开启 Kerberos 认证授权机制的 Hadoop 集群。
919 0
MaxCompute日常工作及实践扩展|阿里云产品内容精选(三十二)
本文内容取自开发者社区阿里巴巴大数据计算技术圈,为大家提供相关技术思考。
98 0
企业级 SaaS 模式云数据仓库MaxCompute实战案例|阿里云产品内容精选(二十八)
本文给大家推荐一下关于MaxCompute的实战案例及相关探索。
168 0
+关注
隐林
阿里云大数据产品专家,擅长MaxCompute、机器学习、分布式、可视化、人工智能等大数据领域;
文章
问答
来源圈子
更多
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
+ 订阅
相关文档: MaxCompute
文章排行榜
最热
最新
相关电子书
更多
自建Hadoop数据如何托管到MaxCompute
立即下载
自建Hadoop数据如何托管到MaxCompute
立即下载
数据进入MaxCompute的N种方式
立即下载