datax入门

本文介绍了使用DataX进行数据迁移的步骤,包括从官方获取DataX资源,运行示例,以及从Stream流读取数据。重点讲述了如何配置从PostgreSQL读取数据并写入MySQL,注意在配置时需使用实际IP而非localhost,并处理MySQL远程连接权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第1章 概述

在这里插入图片描述

在这里插入图片描述

1.3 支持的数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第2章 快速入门

2.1 官方地址

下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
源码地址:https://github.com/alibaba/DataX

运行demo

python datax.py /opt/module/datax/job/job.json

job结构:

{
	作业设置
	reader
	writer
	参数:速率、错误率
}

第3章 使用案例

3.1 从 stream 流读取数据并打印到控制台

1、查看配置模板

python datax.py -r streamreader -w streamwriter

在这里插入图片描述

2)根据模板编写配置文件

cd /usr/local/datax/datax/job
vim stream2stream.json

执行
在这里插入图片描述

3.2 读取 postgresql中的数据存放到 mysql

3.2.1 查看官方模板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

问题总结:
1、由于我自己使用的是虚拟机,mysql是在windows本机,配置的mysql连接ip不能是lcoalhost或者127.0.0.1,要是本机的ip地址(192.168.x.x)
2、java.sql.SQLException: null, message from server: “Host ‘192.xxx.xxx.xxx’ is not allowed to connect to this MySQL server”
我们要对远程服务器进行设置,使它允许你进行连接
在mysql的bin目录下打开命令行,登录数据库mysql -u root -p
输入use mysql;
再输入select host,user from user;
再输入update user set host =‘%’ where user =‘root’;
最后重新启动MySQL服务

配置文件 postgresql2mysql.json 为

{
	"job": {
		"content": [
			{
				"reader": {
					"name": "postgresqlreader",
					"parameter": {
						"connection": [
							{
								"jdbcUrl": [
									"jdbc:postgresql://ip地址:5432/postgres?useSSL=false"
								],
								"table": [
									"test"
								]
							}
						],
						"password": "xxxx",
						"username": "xxxx",
						"column": [
							"id",
							"name"
						]
					}
				},
				"writer": {
					"name": "mysqlwriter",
					"parameter": {
						"column": [
							"id",
							"name"
						],
						"connection": [
							{
								"jdbcUrl": "jdbc:mysql://192.168.124.1:3306/datax?useUnicode=true&characterEncoding=gbk&useSSL=false",
								"table": [
									"test"
								]
							}
						],
						"password": "xxxx",
						"preSql": [
							"delete from test"
						],
						"session": [],
						"username": "xxxx",
						"writeMode": "insert"
					}
				}
			}
		],
		"setting": {
			"speed": {
				"channel": "5"
			}
		}
	}
}

执行

python bin/datax.py job/postgresql2mysql.json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值