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

DataX postgresql迁移至tdenginue

  • 环境准备
    • 下载DataX
    • 解压DataX
  • 编写DataX JOB
    • 名词解释及修改点
  • 执行脚本

环境准备

执行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

你可能感兴趣的:(JAVA,postgresql,tdengine,etl)