1. DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。
2.在源数据库和目标数据库不能同时连接时,可使用DataX 将需要同步的数据提取出来成CSV格式的数据文件,在到目标数据库,使用DataX将CSV文件数据导入数据库。
步骤1:
创建datax job json文件:
- {
- "job": {
- "setting": {
- "speed": {
- "channel": 1
- }
- },
- "content": [
- {
- "reader": {
- "name": "mysqlreader",
- "parameter": {
- "username": "数据库用户名",
- "password": "密码",
- "connection": [
- {
- "querySql": [
- "select * from table;"
- ],
- "jdbcUrl": [
- "jdbc:mysql://127.0.0.1/数据库"
- ]
- }
- ]
- }
- },
- "writer": {
- "name": "txtfilewriter",
- "parameter": {
- "print": true,
- "encoding": "UTF-8",
- "path": "csv文件存放位置",
- "fileName": "csv文件名",
- "writeMode": "truncate",
- "dateFormat": "YYYY-MM-dd hh:mm:ss",
- "header": [
- "id",
- "**",
- "**",
- "**(需要保存的字段)"
- ]
- }
- }
- }
- ]
- }
- }
复制代码
执行完后,得到csv数据文件。
2.将csv文件数据导入数据库
- {
- "job": {
- "setting": {
- "speed": {
- "channel": 2
- }
- },
- "content": [
- {
- "reader": {
- "name": "txtfilereader",
- "parameter": {
- "path": [
- "G:/result/result.csv"
- ],
- "encoding": "UTF-8",
- "column": [
- {
- "index": 0,
- "name": "id",
- "type": "long"
- },
- {
- "index": 1,
- "name": "**",
- "type": "string"
- },
- {
- "index": "字段索引",
- "name": "字段名",
- "type": "字段类型"
- },
- ********
- ],
- "skipHeader": "true"
- }
- },
- "writer": {
- "name": "mysqlwriter",
- "parameter": {
- "writeMode": "update",/*update 增量更新*/
- "username": "root",
- "password": "密码",
- "column": [
- "id",
- "code",
- *****
- ],
- "connection": [
- {
- "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/数据库",
- "table": [
- "table表"
- ]
- }
- ]
- }
- }
- }
- ]
- }
- }
复制代码
3.执行成功数据同步完成
来源:https://blog.caogenba.net/weixin_42286330/article/details/122406163
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |