米
心情
所有
图集
登录
搜索
原创
dataX数据库同步工具使用方法及文档说明
米醋儿
发布于:2022-05-30
  最近项目,有些数据需要从其他项目中同步过来,然后就想到了datax这个工具。工具不难,但是公司打不开GitHub,就很无奈,只能百度别人的demo配置,这里简单记录下实现步骤。 ### 介绍 DataX 是阿里云 DataWorks 数据集成 的开源版本,主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源(即不同的数据库) 间稳定高效的数据同步功能 ### 安装 ```shell wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz tar zxf datax.tar.gz -C /usr/local/ rm -rf /usr/local/datax/plugin/*/._* # 需要删除隐藏文件 (重要) ``` ### 验证 [root@MySQL-1 ~]# cd /usr/local/datax/bin [root@MySQL-1 ~]# python datax.py ../job/job.json # 用来验证是否安装成功 输出 2021-12-13 19:26:28.828 [job-0] INFO JobContainer - PerfTrace not enable! 2021-12-13 19:26:28.829 [job-0] INFO StandAloneJobContainerCommunicator - Total 100000 records, 2600000 bytes | Speed 253.91KB/s, 10000 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.060s | All Task WaitReaderTime 0.068s | Percentage 100.00% 2021-12-13 19:26:28.829 [job-0] INFO JobContainer - 任务启动时刻 : 2021-12-13 19:26:18 任务结束时刻 : 2021-12-13 19:26:28 任务总计耗时 : 10s 任务平均流量 : 253.91KB/s 记录写入速度 : 10000rec/s 读出记录总数 : 100000 读写失败总数 : 0 ### 使用准备 1: 准备2个mysql库,一个有数据一个没数据 ### 使用 1:编写json install.json ``` { "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "username", "password": "xxxxxx0602", "column": ["*"], "splitPk": "ID", "connection": [ { "jdbcUrl": [ "jdbc:mysql://xx.xx.xx.xx:3306/database?useUnicode=true&characterEncoding=utf8" ], "table": ["admin"] } ] } }, "writer": { "name": "mysqlwriter", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": "jdbc:mysql://xx.xx.xx.xx:3306/database?useUnicode=true&characterEncoding=utf8", "table": ["admin_test"] } ], "password": "xxxxxx0602", "preSql": [ "truncate admin_test" ], "session": [ "set session sql_mode='ANSI'" ], "username": "username", "writeMode": "insert" } } } ], "setting": { "speed": { "channel": "5" } } } } ``` 2:运行命令 ``` python /usr/local/datax/bin/datax.py install.json ``` ### 完成同步 ### 增量同步 ``` { "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "root", "password": "123123", "column": ["*"], "splitPk": "ID", "where": "ID <= 1888", "connection": [ { "jdbcUrl": [ "jdbc:mysql://192.168.1.1:3306/course-study?useUnicode=true&characterEncoding=utf8" ], "table": ["t_member"] } ] } }, "writer": { "name": "mysqlwriter", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": "jdbc:mysql://192.168.1.2:3306/course-study?useUnicode=true&characterEncoding=utf8", "table": ["t_member"] } ], "password": "123123", "preSql": [ "truncate t_member" ], "session": [ "set session sql_mode='ANSI'" ], "username": "root", "writeMode": "insert" } } } ], "setting": { "speed": { "channel": "5" } } } } ``` >增量同步需要使用 where 进行条件筛选。 文章到此结束
注:原创不易,转载请注明出处(
https://micuu.com/new/2861.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-06-02
上一篇:
数据库同步工具
下一篇:
datax多表同步,利用python写多个配置文件
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>