【DataX】实现数据从postgresql迁移至tdenginue

环境准备

执行DataX需要java 1.8,以及python环境,python支持2.0和3.0,我这里使用的是python3.6

下载DataX

下载地址

解压DataX

tar -zxvf dataX.tar.gz

编写DataX JOB

编写job文件,后缀为json

{
    
    
	"job": {
    
    
		"setting": {
    
    
			"speed": {
    
    
				// 设置传输速度,单位为byte/s,DataX运行会尽可能达到该速度但是不超过它.
				"byte": 10485762
			},
			//出错限制
			"errorLimit": {
    
    
				//出错的record条数上限,当大于该值即报错。
				"record": 0,
				//出错的record百分比上限 1.0表示100%,0.02表示2%
				"percentage": 0.02
			}
		},
		"content": [{
    
    
			"reader": {
    
    
				"name": "postgresqlreader",
				"parameter": {
    
    
					// 数据库连接用户名
					"username": "***",
					// 数据库连接密码
					"password": "***",
					"column": [
						"data_time", "product_id", "type", "content", "create_time", "device_id", "id"
					],
					//切分主键
					//"splitPk": "id",
					"connection": [{
    
    
						"table": [
							"迁移目标表"
						],
						//"querySql": [
                                      //    "SELECT 'device_log_djzttcc_d1' AS tbname,data_time AS _ts, product_id AS productid, type , content , device_id AS deviceid from logdev_d1;"
                                       //],
						"jdbcUrl": [
							"jdbc:postgresql://ip:port/数据库名"
						]
					}]
				}
			},
			"writer": {
    
    
				"name": "tdengine30writer",
				"parameter": {
    
    
					"username": "***",
					"password": "***",
					"column": [
						"_ts",
						"productid",
						"type",
						"content",
						"createtime",
						"deviceid",
						"id"
					],
					"connection": [{
    
    
						"table": [
							"迁移目的库"
						],
						"jdbcUrl": "jdbc:TAOS://ip:port/数据库名"
					}],
					"batchSize": 100,
					"ignoreTagsUnmatched": true
				}
			}
		}]
	}
}

这里需要注意一点,alibaba/datax 这个仓库里面只有td2.0的writer,要写入td3.0的话需要去taosdata/datax这个仓库里拉代码再编译tdengine30writer,放入到datax plugin目录下

名词解释及修改点

  • reader、writer 指的是读取写入插件,官方目前支持如下
类型 数据源 Reader(读) Writer(写) 文档
RDBMS 关系型数据库 MySQL
Oracle
OceanBase
SQLServer
PostgreSQL
DRDS
通用RDBMS(支持所有关系型数据库)
阿里云数仓数据存储 ODPS
ADS
OSS
OCS
NoSQL数据存储 OTS
Hbase0.94
Hbase1.1
Phoenix4.x
Phoenix5.x
MongoDB
Hive
Cassandra
无结构化数据存储 TxtFile
FTP
HDFS
Elasticsearch
时间序列数据库 OpenTSDB
TSDB
TDengine2.0
TDengine3.0
  • connection 指定查询或写入的表以及库连接地址

执行脚本

python datax.py 编写的job文件.json

猜你喜欢

转载自blog.csdn.net/baidu_29609961/article/details/131830309