-
2022-07-07 21:55:54
1.windows
1.前置环境
JDK(1.8以上,推荐1.8)
Python(网上都说用3.0会报错)
Apache Maven 3.x (Compile DataX)datax可以跨多种数据源同步数据,主要是通过系统定时任务操作脚本执行job任务
jdk地址:链接: https://pan.baidu.com/s/1TXj1xrBLkQ7TyFOJUoobkw?pwd=vn7g 提取码: vn7g
python:链接: https://pan.baidu.com/s/1i53AUKpKoeSEG5uH4qc9eA?pwd=63tm 提取码: 63tm
maven:链接: https://pan.baidu.com/s/14DQTrVupKeHdCly340JiQA?pwd=4q3c 提取码: 4q3c
2.使用和介绍
datax地址:
解压压缩包,安装使用
压缩完打开
主要需要用到的是bin, job和log
bin下是执行命令的位置
job目录里放需要执行的json脚本
log里放的执行日志,可以看json语句是否有问题
操作:
进入bin目录,cmd打开命令窗
执行测试语句 python datax.py ../job/job.json
出现一下信息,表示可以正常运行成功
windows下使用:
从sqlserver写到mysql
Device_warn.json文件内容
{ "job": { "setting": { "speed": { "channel": 1 }, "errorLimit": { "percentage": 1 } }, "content": [{ "reader": { "name": "sqlserverreader", "parameter": { "username": "sqlserver账号", "password": "sqlserver密码", "connection": [{ "querySql": [ "SELECT br.[id] as id,br.[设备ID] as device_id,br.[记录时间] as record_time,br.[采集时间] as collect_time FROM [dbo].[报警记录_2021] as br" ], "jdbcUrl": [ "jdbc:sqlserver://sqlserverip;DatabaseName=zzsby" ] }], "maxRetries": 3 } }, "writer": { "name": "mysqlwriter", "parameter": { "username": "mysql账号", "password": "mysql密码", "dateFormat": "YYYY-MM-dd hh:mm:ss", "column": [ "id","device_id","record_time","collect_time" ], "connection": [{ "jdbcUrl": "jdbc:mysql://目标数据库ip+端口/库名", "table": [ "表名" ] }] } } }] } }
Device_warn.bat内容
1.@echo off 2.python D:/DataX/datax/datax/bin/datax.py D:/DataX/datax/datax/job/device_warn.json 3.pause
2.linux环境下
1.前置环境
需要的环境和window一致,安装包一致
Sh文件 dd.sh
可能启动时会读取不到jdk环境,需引用环境地址
1.#!/bin/bash d 2.PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/jdk/jdk1.8.0_201/bin:/root/bin 3.export PATH 4.python /usr/local/datax/datax/bin/datax.py /usr/local/datax/datax/job/device_warn.json
job脚本和window的json文件一样
3.注意
1.问题
在使用时,如果mysql版本小于5.几不需要考虑以下问题
由于截至到2020年3月份,gtihub上最新的datax tar包所包含的mysql驱动是mysql-connector-java-5.1.34.jar Mysql版本大于5.几时,需要修改官网源码重新编译后使用
参考 解决DataX支持Mysql 8的读写 - 下班闪电去打卡 - 博客园
解决步骤
源码地址:
1.下载datax-master源码(官网直接下载很慢)
datax-master源码:链接: https://pan.baidu.com/s/1pMX_2IuHwa2ASqh2AYTGjw?pwd=fdnr 提取码: fdnr
2.修改代码中的mysql版本和数据库连接参数
3.打包编译后使用(参考文档中说编译后直接使用,我这里是选择的替换部分mysql的文件包)
4.定时任务和脚本
1.定时任务操作
Crontab -l 查看列表
Crontab -e 编辑
执行频率是靠系统的定时任务
2.需要使用年份的数据表
echo device_000${i}_$(date +%Y)
拼接字符串
3.需要从定时任务sh文件中向json中传值,循环处理多个表数据
datax.sh文件
1.#!/bin/bash d 2.JAVA_HOME=/usr/local/jdk/jdk1.8.0_201 3.export PATH=$PATH:$JAVA_HOME/bin 4.for i in 123 124 125 126 127 128 129 130 131 132; 5.do 6.python /usr/local/datax/datax/bin/datax.py -p "-Dsqlserver="[dbo].[历史记录_000${i}_2021]" -Dmongo="device_000${i}_2021"" /usr/local/datax/datax/job/sqlServerToMongo.json 7.done
写法:sh文件中用-D+名称设置 josn中的文件使用 $+值名称来获取
json文件
1.{ 2. "job": { 3. "setting": { 4. "speed": { 5. "channel": 5 6. }, 7. "errorLimit": { 8. "percentage": 1 9. } 10. 11. }, 12. "content": [{ 13. "reader": { 14. "name": "sqlserverreader", 15. "parameter": { 16. "username": "sqlserver的账号", 17. "password": "密码", 18. "connection": [{ 19. "querySql": [ 20. "SELECT his.[id] as serial,his.[设备ID] as device_id,his.[记录时间] as record_time,his.[采集时间] as collect_time FROM $sqlserver as his " 21. ], 22. "jdbcUrl": [ 23. "jdbc:sqlserver://sqlserver的ip;DatabaseName=zzsby" 24. ] 25. }], 26. "maxRetries": 3 27. } 28. }, 29. "writer": { 30. "name": "mongodbwriter", 31. "parameter": { 32. "address": [ 33. "mongo的ip+端口" 34. ], 35. "userName": "mongo的用户名", 36. "userPassword": "mongo密码", 37. "dbName": "数据库名", 38. "collectionName": "$mongo", 39. "column": [ 40. { 41. "name":"serial", 42. "type":"LONG" 43. }, 44. { 45. "name": "device_id", 46. "type": "LONG" 47. }, 48. { 49. "name": "record_time", 50. "type": "DATE" 51. } 52. ], 53. "writeMode": { 54. "isReplace": "false", 55. "replaceKey": "_id" 56. } 57. } 58. } 59. }]
更多相关内容 -
DataX
2021-05-10 15:07:38DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的... -
common-datax:基于DataX的通用数据同步微服务,一个Restful接口搞定所有通用数据同步
2021-05-13 14:06:05已优化重构并迁移至datax-admincommon-datax基于阿里DataX开发一个通用导数的微服务,可以开发前台页面,根据reader和writer自动进行数据同步本项目只限于同步数据源量很少的时候使用,若是数据源很多的情况,请参考... -
DataX_python3补丁,DataX安装(Windows版)
2022-02-17 08:45:17DataX_python3 由于python为3.7.0,所以把datax/bin目录下的三个py文件需要符合python3语法要求的文件,执行也才能不报错。 如需要,下载这三个文件替换即可。 -
获取java各种项目源码-springboot-datax:使用springboot启动datax,方便以web方式使用
2021-06-06 19:24:37获取java各种项目源码 preparation Language: Java 8 Environment: MacOS, 16G RAM Database: ...DATAX_HOME=G:\learndemo\springboot-datax\datax\bin 2. 执行datax-web/db下面的sql文件并修改app -
Datax-ClickHouse读写插件
2022-02-17 15:20:19datax的clickhouse读写插件 由开源产品修复, 适用于clickhouse读写插件|同步mysql,sqlserver等数据到clickhose中或者反向同步 -
datax-web-ui:DataX Web UI
2021-03-20 04:54:10Datax Web UI说明该项目由修改而来构建设置运行npm install [ 慢的话用 npm install --registry https://registry.npm.taobao.org]修改配置找到vue.config.js修改proxy里的属性即可[process.env.VUE_APP_API]: { ... -
datax支持presto读取
2020-12-07 15:38:401、说明:datax支持presto读取,datax规范开发插件,读取presto中数据,可以在presto中配置mysql、postgresql、es、hive等数据库的连接,通过datax执行关联查询,数据存入新的库 2、插件更新:解压文件 prestoreader... -
Datax支持clickhouse
2021-08-05 14:05:06Python3版本的Datax支持clickhouse数据库写入 -
datax读写MySQL8的插件
2022-04-19 09:27:12datax读写MySQL8的插件,修改源码重新编译而来 -
datax-es:从mysql导入es 重写代码
2021-05-16 14:06:20DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的... -
阿里云ossjava源码-DataX-Migration:基于阿里巴巴DataX3.0的全数据库迁移工具
2021-06-06 00:55:43DataX-Migration DataX-Migration is Full Database Migration Tool based on Alibaba DataX 3.0. Support Database Migration among Mysql, Oracle, SqlServer, PostgreSql. And support where condition when ... -
DataX Json配置.json
2022-01-18 15:12:25datax抽取mysql表到pgsql表的json配置 -
datax之hivereader
2020-11-04 17:41:02datax之hivereader,下载完成后直接解压到plugin下的reader。解压完后记得把zip包删掉,不然报错哟 -
springboot集成datax的demo
2021-08-26 22:21:09springboot集成datax的demo,下载及能运行 -
datax 的clickhouse wirte JAR包,实测datax-web下可用,不报错
2022-01-21 16:08:55datax 的clickhouse wirte JAR包,实测datax-web下可用,不报错,包含 (1)clickhousewriter-0.0.1-SNAPSHOT.jar (2)libs (3)plugin_job_template.json (4)plugin.json 直接拖到/usr/local/datax/plugin/... -
Datax 插件开发 Kafka writer.pdf
2021-11-15 22:55:24Datax 插件开发 Kafka writer.pdf -
datax关系/图数据库插件
2022-05-15 22:20:18datax关系/图数据库插件 -
datax-web.tar.gz
2022-01-20 16:25:42阿里 数据同步软件,自己...使用步骤:1、 bin目录 ./intall.sh,修改yourpath/datax-web-2.1.2/modules/datax-executor/conf/application.yml 在最后指定你datax.py路径 2、./startup-all.sh 访问 ip:9527/index.html -
datax数据迁移shell
2020-08-26 12:00:08依据时间字段增量 1、创建要迁移表的文件,文件和脚本在同一级目录,名称为: transfer.txt 2、文件格式为:表名+列名+开始时间+结束时间(以+隔开) 3、迁移数据 4、记录迁移信息到目的库 -
java通过Python命令执行datax任务调度
2022-03-23 11:28:171、通过java调用Python命令执行datax任务调度 2、自动开始任务和调度结束关闭任务调度释放内存 3、如果我们在cmd使用命令调度,执行完毕后无法释放内存,会造成内存泄露不足,出现报错“Error occurred during ... -
datax-web:DataX集成可视化页面,选择数据源即可使用一键生成数据同步任务,支持RDBMS,Hive,HBase,...
2021-03-22 05:28:38数据网 DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的操作界面,减少用户使用DataX的学习成本,更改任务配置时间,避免配置过程中出错。用户可以通过页面选择数据源即可创建数据同步任务,支持... -
数据同步工具datax-web可视化工具
2022-05-09 14:41:43数据同步工具datax-web可视化工具,可实现跨数据库数据同步,项目实际使用实践请大家放心下载。 -
alibaba 开源组件datax
2019-10-29 10:05:431.DataX是一个在异构的数据库/文件系统之间高速数据交互工具,实现了任意数据之间的转换 2.dataX文档https://yq.aliyun.com/articles/71063 -
datax使用python3的替换bin文件
2021-01-05 18:23:37datax使用python3的替换bin文件 -
JDataX:对alibaba datax的封装, 进行批量的导入导出,目前只支持没有mysql模板,其他可以自己创建模板,很...
2021-05-13 14:35:11JDataX是整合DataX的一个系统 目前功能: 批量处理同步数据库, 通过读取数据库模板文件进行批量创建json文件 SQL文件:在项目根目录 jdatax.sql Mysql数据库 计划 2019-10-01 V1.1实现 加入实时显示进度 例如 目前... -
datax_web搭建.zip
2020-03-04 17:20:02datax_web的搭建资源,详细操作请查看博客 https://blog.csdn.net/qq_33752493/article/details/104649953 -
Java通过python命令执行DataX任务的实例
2020-08-25 17:28:07今天小编就为大家分享一篇Java通过python命令执行DataX任务的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
使用idea启动DataX的方法示例
2020-08-25 03:58:24主要介绍了使用idea启动DataX的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
datax clickhouse读写jar包.zip
2021-04-28 18:56:27datax clickhouse读写jar包