datax读取mysql方式_DataX读取MySQL示例

本示例展示了如何使用DataX从MySQL数据库中读取数据。首先,通过Docker部署并准备MySQL容器,创建数据库`db_datax`及表格`tb_employee`并填充数据。接着,确保DataX容器可以访问到MySQL容器。最后,配置DataX的job文件,包括`mysqlreader`和`streamwriter`,并执行数据迁移任务。
摘要由CSDN通过智能技术生成

MySQL

容器准备

docker pull mysql:5.6

docker run -p 3306:3306 --name hello_mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.6

docker exec -it hello_mysql bash

数据准备

mysql -uroot -proot连入mysql

16d0570a2b0ac244f46088f75019d886.png

先创建一个数据库

create database db_datax;

use db_datax

再创建表格并插入数据

create table if not exists tb_employee (id int, salary int);

truncate table tb_employee ;

insert into tb_employee (id, salary) values ('1', '100');

insert into tb_employee (id, salary) values ('2', '200');

insert into tb_employee (id, salary) values ('3', '300');

数据准备好后能够退出容器,但不要关闭python

查看ip

docker inspect --format='{

{.NetworkSettings.IPAddress}}' hello_mysql

440b4b179e68db066695e26cb47c143b.png

DataX

ping 172.17.0.3先测试一下DataX的容器可否访问到MySQL的容器,通常来讲使用默认network,两个容器应该能正常通讯。mysql

cd /opt/modules/datax

vi ./job/mysql2stream.jsonweb

{

"job": {

"setting": {

"speed": {

"channel": 3

},

"errorLimit": {

"record": 0,

"percentage": 0.02

}

},

"content": [

{

"reader": {

"name": "mysqlreader",

"parameter": {

"username": "root",

"password": "root",

"column": [

"id",

"salary"

],

"splitPk": "id",

"connection": [

{

"table": [

"tb_employee"

],

"jdbcUrl": [

"jdbc:mysql://172.17.0.3:3306/db_datax"

]

}

]

}

},

"writer": {

"name": "streamwriter",

"parameter": {

"print":true

}

}

}

]

}

}

python ./bin/datax.py ./job/mysql2stream.json

85db968fa578e31cbc6bbcedb7dfe3f8.pngsql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值