首页 > 其他分享 >数据同步工具DataX使用教程

数据同步工具DataX使用教程

时间:2023-01-04 13:44:19浏览次数:87  
标签:教程 同步 数据源 job json DataX datax

数据同步工具DataX使用教程

Tanglu 系统运维 2022-09-12 446 0  

一、DataX简介

DataX是阿里开源的一款异构数据源离线同步工具,可以实现多种关系型和非关系型异构数据库之间的数据同步功能。DataX作为中间传输载体,可以将原数据源无缝同步到新的异构数据源中(可以通过项目地址 https://github.com/alibaba/DataX  查看其所支持的各种数据源)。DataX以插件的形式工作,各个数据源之间有各自的读写模块,比如MySQLReader、HDFSWriter,根据使用不同的插件实现对不同数据源的读写。

DataX任务组成

· Job:单个作业的管理节点,负责数据清理、子任务划分、TaskGroup监控管理

· Task:由Job切分而来,是DataX作业的最小单元,一个大的Job可以分为多个Task,每个Task负责一部分数据的同步

· Schedule:将Task组成TaskGroup,即任务组

DataX与Sqoop主要区别

· DataX是单进程多线程工作

· 读写粒度容易控制

· 不支持分布式

· 支持流控

 

二、DataX部署与使用

1、提前部署JDK 1.8

 

2、下载DataX二进制安装包

Bash
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/20220530/datax.tar.gz

 

3、解压后的bin目录存放可运行的脚本;conf目录存放了全局核心配置文件core.json;job目录存放所编写的任务脚本,并包含了一个模板文件job.json;lib存放程序公共依赖包;plugin目录存放了各个数据源的依赖包,按照读写的不同又分为了reader和writer,每个数据源下也提供了一个plugin_job_template.json作为模板文件

 

4、DataX任务配置

由于DataX是插件式工作,不同的reader和writer之间有不同的配置格式,只需要把正确的配置放在json文件中就可以运行。DataX提供了快捷查询配置的命令,只需要替换想要查看的reader或者writer就可以查看配置文件的编写模板。将配置文件保存下来后就可以使用python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json的方式来运行

 

 

Bash
bin/datax.py -r mysqlreader -w mysqlwriter #以下是修改后的可用模板{	"job": {		"content": [{			"reader": {				"name": "mysqlreader",				"parameter": {					"column": [						"id",						"name",						"age"					],					"connection": [{						"jdbcUrl": ["jdbc:mysql://172.20.1.190:3307/datax_test"],						"table": ["datax_test1"]					}],					"password": "123456",					"username": "root",					"where": ""				}			},			"writer": {				"name": "mysqlwriter",				"parameter": {					"column": [						"id",						"name",						"age"					],					"connection": [{						"jdbcUrl": "jdbc:mysql://172.20.1.191:3307/datax_test",						"table": ["datax_test1"]					}],					"password": "132456",					"preSql": [],					"session": [],					"username": "root",					"writeMode": "insert"				}			}		}],		"setting": {			"speed": {				"channel": "1"			}		}	}}

 

5、运行DataX,然后观察数据同步结果

Bash
#将上面的配置文件保存在job/mysql2mysql.json中
bin/datax.py job/mysql2mysql.json

 



--------------------
转载内容敬请保留出处,谢谢合作!
原文地址:https://www.linuxe.cn/post-735.html

标签:教程,同步,数据源,job,json,DataX,datax
From: https://www.cnblogs.com/yaoyangding/p/17024611.html

相关文章