DataX异构数据源离线同步工具json文件配置说明


DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX工具是用json文件作为配置文件的,根据官方提供文档我们构建Json文件如下:

{

    "job": {

        "content": [

            {

                "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "username": "root",

                        "password": "123456", 

                        "column": ["name","age"],

                        "where": "age<100",

                        "connection": [

                            {

                                "table": [

                                    "person"

                                ],

                                "jdbcUrl": [

                                    "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8"

                                ]

                            }

                        ]

                    }

                },

                "writer": {

                    "name": "mysqlwriter",

                    "parameter": {

                        "username": "root",

                        "password": "123456",

                        "column": ["name","age_true"],

                        "connection": [

                            {

                                "table": [

                                    "person"

                                ],

                                "jdbcUrl":"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8"                             

                            }

                        ]  

                    }

                }

            }

        ],

        "setting": {

                 "speed": {

                         "channel": 1,

                         "byte": 104857600

                 },

                 "errorLimit": {

                         "record": 10,

                         "percentage": 0.05

      }

    }

}

它由三部分组成,分别是读插件,写插件和通用配置。

1、Reader插件即读插件,常用参数如下:

name: 与要读取的数据库一致,字符串

jdbcUrl: 数据库链接 ,数组

username :数据库用户名,字符串

password:数据库密码, 字符串

table :要同步的表名,数组,需保证表结构一致

column:     要同步的列名, 数组

where :选取的条件,字符串

querySql:自定义查询语句, 会自动忽略上述的同步条件

 

 2、Writer插件即写插件,常用参数如下:

name:与要读取的数据库一致 ,字符串

jdbcUrl:数据库链接,字符串

username:数据库用户名         字符串,数据库的用户名

password: 数据库密码 ,字符串,数据库的密码

table:要同步的表名,数组,需保证表结构一致

column :列名可以不对应,但是类型和总的个数要一致     数组,需保证表结构一致

preSql: 写入前执行的语句,数组,比如清空表等,如TRUNCATE TABLE @table(或指定表名)

postSql : 写入后执行的语句 ,数组

writeMode:写入方式,默认为insert       insert/replace/update

session:DataX在获取Mysql连接时,执行session指定的SQL语句,修改当前connection session属性

batchSize 默认值:1024,一次性批量提交的记录数大小,该值可以极大减少DataX与Mysql的网络交互次数,并提升整体吞吐量。但是该值设置过大可能会造成DataX运行进程OOM情况。

 

3、通用配置:

(1)、job.setting.speed(流量控制)

Job支持用户对速度的自定义控制,channel的值可以控制同步时的并发数,byte的值可以控制同步时的速度

(2)、job.setting.errorLimit(脏数据控制)

Job支持用户对于脏数据的自定义监控和告警,包括对脏数据最大记录数阈值(record值)或者脏数据占比阈值(percentage值),当Job传输过程出现的脏数据大于用户指定的数量/百分比,DataX Job报错退出。

   


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM