米
心情
所有
图集
登录
搜索
原创
datax多表同步,利用python写多个配置文件
米醋儿
发布于:2022-05-31
  上一篇已经介绍过datax的安装及使用方式,这里是利用脚本去实现多个表的同步命令,减少我们的配置文件修改。 https://micuu.com/new/2861.html ### 场景介绍   如,我需要同步test,test1,test2 。。。。。。。好多表,我不可能每个同步都去配一个json文件,于是就想要了生成json文件的方式。 ### 代码 ```python #!/usr/bin/python # -*- coding: UTF-8 -*- import os read_jdbc = 'jdbc:mysql://xx.x.x.x/byd_scan_code?useUnicode=true&characterEncoding=utf8' writer_jdbc = 'jdbc:mysql://xx.x.x.x:3306/byd_store_service_dev?useUnicode=true&characterEncoding=utf8' read_database_prefix = 'shop_' writer_database_prefix = 'xxx_' read_database_tables = ['shop_wework_user','shop_distributor_shop_after_sales'] writer_database_tables = ['byd_staff','byd_distributor_shop_after_sales'] template_str = ''' { "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "ouryun", "password": "Mc2ht61slAD#v5", "column": ["*"], "splitPk": "ID", "connection": [ { "jdbcUrl": [ "read_jdbc" ], "table": ["__read_table__"] } ] } }, "writer": { "name": "mysqlwriter", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": "writer_jdbc", "table": ["__writer_table__"] } ], "password": "SSafter#0602", "preSql": [ "truncate admin_test" ], "session": [ "set session sql_mode='ANSI'" ], "username": "ssafter", "writeMode": "insert" } } } ], "setting": { "speed": { "channel": "5" } } } } ''' str1 = template_str.replace('read_jdbc',read_jdbc) str2 = str1.replace('writer_jdbc',writer_jdbc) for index in range(len(read_database_tables)): # print (index,read_database_tables[index]) with open(read_database_tables[index]+'.json','w') as file_handle: str3 = str2.replace('__read_table__',read_database_tables[index]) str4 = str3.replace('__writer_table__',writer_database_tables[index]) file_handle.flush() file_handle.write(str4) # 写入 os.fsync(file_handle) file_handle.close(); os.system('python datax.py '+read_database_tables[index]+'.json') ``` 原理:利用python生成多个配置文件,再利用os.system去执行我们的cmd命令。z这里有个问题就是我们再写json文件的时候,可能没写完,就执行了命令行代码,大家参考我的代码同步写入之后再执行命令行。
注:原创不易,转载请注明出处(
https://micuu.com/new/2862.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-05-31
上一篇:
dataX数据库同步工具使用方法及文档说明
下一篇:
西安5.31日法拍房16251套
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>