【DataX】postgresqlからtdenginueへのデータ移行を実現

環境整備

DataX の実行には Java 1.8 と Python 環境が必要です。Python は 2.0 と 3.0 をサポートしています。ここでは python3.6 を使用します

DataXをダウンロード

ダウンロードリンク

unzipDataX

tar -zxvf dataX.tar.gz

DataX ジョブの書き込み

ジョブ ファイルを書き込みます。サフィックスは 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 ライターしかないということです。td3.0 を書きたい場合は、taosdata/datax ウェアハウスに移動して tdengine30writer をコンパイルし、datax に置く必要があります。プラグインディレクトリ。

名詞の説明と修正箇所

  • リーダー、ライターは読み取りおよび書き込みプラグインを指します。公式サポートは次のとおりです。
タイプ 情報元 リーダー(読む) ライター(書く) 書類
RDBMSリレーショナルデータベース MySQL 読む書く
オラクル 読む書く
オーシャンベース 読む書く
SQLサーバー 読む書く
PostgreSQL 読む書く
DRDS 読む書く
ユニバーサル RDBMS (すべてのリレーショナル データベースをサポート) 読む書く
Alibaba Cloud データ ウェアハウス データ ストレージ ODPS 読む書く
ADS 書く
OSS 読む書く
OCS 書く
NoSQLデータストレージ OTS 読む書く
Hbase0.94 読む書く
Hbase1.1 読む書く
フェニックス4.x 読む書く
フェニックス5.x 読む書く
モンゴDB 読む書く
ハイブ 読む書く
カサンドラ 読む書く
非構造化データストレージ テキストファイル 読む書く
FTP 読む書く
HDFS 読む書く
エラスティックサーチ 書く
時系列データベース OpenTSDB 読む
TSDB 読む書く
TDエンジン2.0 読む書く
TDエンジン3.0 読む書く
  • connection は、クエリまたは書き込みテーブルとライブラリ接続アドレスを指定します。

スクリプトを実行する

python datax.py によって書かれたジョブ ファイル .json

おすすめ

転載: blog.csdn.net/baidu_29609961/article/details/131830309