当前位置:   article > 正文

linux上datax 安装以及使用

datax 安装

前言

DataX 是一款由阿里巴巴开源的数据同步工具,旨在帮助用户实现不同数据源之间的高效数据迁移和同步。无论是从传统的关系型数据库、NoSQL 数据库,还是到大数据存储系统,DataX 都能够轻松应对各种数据同步需求。通过简单的配置和灵活的插件机制,用户可以快速构建数据同步任务,实现数据的可靠传输和处理。DataX 的设计理念注重性能和可扩展性,同时保证数据同步过程的稳定性和数据一致性。

安装部署

安装部署主要有两种方式

  • 源码构建 (java环境(git jdk maven等))

    # git clone 源码下载  
    # 或者 通过DataX项目的release 页面下载最新的源码包 https://github.com/alibaba/DataX/releases
    git clone git@github.com:alibaba/DataX.git
    # 推荐jdk版本为1.8 jdk 版本大于16 是需要改动下源码 
    # 将项目中的引入到Record 的类 手动添加导包路径  不然可能被识别为jdk里的Record
    # import com.alibaba.datax.common.element.Record;
    # maven构建
    mvn -U clean package assembly:assembly -Dmaven.test.skip=true 
    # 打包成功后的DataX包位于 target/datax/datax/
    # {DataX_source_code_home}/target/datax/datax/ ,结构如下:
    
    

    在这里插入图片描述

  • 直接下载工具包 链接 https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz

第二种 下载完成需要进行解压

tar -zxvf ./datax.tar.gz

使用

使用过程也比较简单

  • 编写job
  • 启动job执行
    # 需要python环境  我这里是 python3 命令
    python3 ./bin/datax.py ./job/job.json
    

例如说 我想从一个mysql 同步单张表的数据到另一个mysql中 那我可以编写如下job配置

{
    "job": {
        "setting": {
            "speed": {
                "channel": 1
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "数据库连接账号",
                        "password": "数据库连接密码",
                        "splitPk": "id",
                        "column":["需要同步的列数据 多个列 ,分割"],
                        "connection": [
                            {
                                "table": [
                                    "待同步的表名"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://数据库连接地址:3306/数据库名称?characterEncoding=utf8&useSSL=false"
                                ]
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "writeMode": "insert",
                        "username": "写入的数据库账号",
                        "password": "写入数据库密码",
                        "column":["写的数据表列明 多个,分割"],
                        "preSql": [
                            "前置执行语句例如先删除写入数据库的表数据 从头导入 delete from us_login_log"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://数据库连接得治:3306/数据库名称?characterEncoding=utf8&useSSL=false",
                                "table": [
                                     "同步的表名"
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    }
}

执行job

python3 ./bin/datax.py ./job/job.json

同步的过程中可以看到 传输的速度 以及条数
在这里插入图片描述
gc 日志

在这里插入图片描述

迁移完成

在这里插入图片描述

问题

启动job时 遇到 mac上datax启动 报错 配置信息错误,您提供的配置文件[/xx/datax/plugin/reader/.DS_Store/plugin.json]不存在

参数文章: https://blog.csdn.net/a15835774652/article/details/141398721


good day !!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/1021362
推荐阅读
相关标签
  

闽ICP备14008679号