mysql分库分区导入hdfs_使用datax实现离线同步分库分表数据

DataX简介

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

DataX更像是一个数据枢纽,它可以读取多种数据源中数据,经过内部的转换又可以输出到多种数据源中。

其架构设计主要包含三部分:Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework

Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。

Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

这里只总结DataX在同步MySQL分库分表的使用。

同步分库中表的数据

我们业务系统的用户基本信息表,被分库存储在不同的库中,下面介绍使用DataX如何将这些分库的数据同步到HDFA中。

下载 & 使用

从Datax Github 中下载源码编译,或直接下载已编译好的工具包。

下载后解压至本地某个目录,进入bin目录,即可运行同步作业:1

2$ cd {DATAX_HOME}/bin

$ python datax.py {YOUR_JOB.json}

配置和使用很简单,只需配置YOUR_JOB.json,在这个文件中配置输入源.

其中 datax.py可以配置多个参数,如下:1

2

3

4

5

6-j # 设置jvm参数,如-Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError

--jobid= # 设置job唯一id

-m # 设置运行模式: standalone(默认), local, distribute.

-p # 动态设置一些参数,当在配置文件设置了一些变量时,如${tableName},那么可以通过-p"-DtableName=your-table-name"来动态设置。

-r # 使用一些reader模版,eg: mysqlreader,streamreader

-w , # 使用一些reader模版,eg: mysqlwriter,streamwriter

同步分库的配置

下面给出同步分库中表数据的配置,content中包含两部分内容,reader和writer,其中reader中配置了mysql的分库地址。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值