datax使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

datax的使用流程和本人踩的坑

一、datax的使用流程

以mysql->mysql为例
datax使用流程(macOS版本

  1. 官网下载datax
    进入bin目录
    开终端
    创建json同步文件
    python3 datax.py -r mysqlreader -w mysqlwriter > mysql2mysql.json

  2. mysql创建需要的数据库表
    – 创建一个名为t_user1的表,包含id(主键), nameemail
    CREATE TABLE t_user1 (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    PRIMARY KEY (id)
    );

– 插入一些示例数据
INSERT INTO t_user1 (name, email) VALUES
(‘zhangsan’, ‘zhangsan@example.com’),
(‘lisi’, ‘lisi@example.com’),
(‘wangwu’, ‘wangwu@example.com’);

CREATE TABLE t_user2 (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);

  1. 配置json文件

示例


{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": ["id","name","email"],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://localhost:3306/。。。"],
                                "table": ["t_user1"]
                            }
                        ],
                        "password": "。。。",
                        "username": "root",
                        "where": ""
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": ["id","name","email"],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://localhost:3306/。。。",
                                "table": ["t_user2"]
                            }
                        ],
                        "password": "。。。",
                        "preSql": [],
                        "session": [],
                        "username": "root",
                        "writeMode": "INSERT"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}
  1. 运行同步文件
    python3 datax.py mysql2mysql.json

二、我踩的坑

1.json格式相关

  1. 在最开始
python3 datax.py -r mysqlreader -w mysqlwriter > mysql2mysql.json

一步生成的mysql2mysql.json文件中,前半部分有阿里的注视,需要删掉。
2. 对于写入的数据库,的jdbc不能有"[]",因为只支持写入到一个库中

2.mysql配置

password 和password必须要有,如果是root用户,密码默认为空,需要去mysql设置密码:

mysql -u root -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
FLUSH PRIVILEGES;  

3.我自己蠢

“writeMode”: “INSERT”
而不是! “INSERT INTO”

总结

革命尚未成功 派派仍需努力

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DataX使用方式包括以下几个步骤: 1. 下载和安装DataX 可以从DataX的官方GitHub仓库中下载最新版本的DataX,并按照官方文档进行安装。安装完成后,可以使用DataX的命令行工具进行数据交换任务的配置和执行。 2. 配置数据源和目标 DataX需要根据数据源和目标的不同配置不同的插件。可以在DataX的插件目录中找到对应的插件,并按照官方文档进行配置。例如,如果需要从MySQL数据库中读取数据并写入到Hive表中,可以使用MySQLReader和HiveWriter插件进行配置。 3. 编写数据交换任务的配置文件 可以使用DataX的配置文件格式,编写数据交换任务的配置文件。配置文件中需要指定数据源、目标、数据表、字段映射关系等信息。可以根据官方文档提供的示例进行配置。 4. 执行数据交换任务 可以使用DataX的命令行工具执行数据交换任务。执行命令的格式为: ``` python datax.py job/job.json ``` 其中,`job.json`为数据交换任务的配置文件。执行命令后,DataX会自动读取配置文件,并进行数据交换操作。可以使用DataX提供的日志和报告功能进行监控和报告。 总之,使用DataX进行数据交换需要进行插件配置、任务配置和命令行执行等操作。虽然有些繁琐,但是DataX提供了丰富的插件和扩展接口,可以满足不同的数据交换需求。同时,DataX还提供了完善的监控和报告功能,可以帮助用户及时发现和处理数据交换中的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值