DataX使用マニュアル

2572 ワード

DataX
DataXはアリババグループ内で広く使用されているオフラインデータ同期ツール/プラットフォームであり、MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBAse、Table Store(OTS)、MaxCompute(ODPS)、DRDSなどの各種異機種データソース間で効率的なデータ同期機能を実現している.DataXgitアドレス
インストール
直接DataXキットをダウンロードする:DataXダウンロードアドレスをダウンロードした後、ローカルのあるディレクトリに解凍し、binディレクトリに入ると、同期ジョブを実行する:shell cd {YOUR_DATAX_HOME}/bin python datax.py {YOUR_JOB.json}セルフテストスクリプト:python{YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json
使用
1.jobを生成する.jsonのサンプルファイル
cd  {YOUR_DATAX_HOME}/bin
python datax.py -r mysqlreader -w postgresqlwriter

インスタンスファイルが生成されます
2.インスタンスファイルをコピーする.jsonファイルにあります.中の構成項目を変更します.インスタンスjsonファイルは次のようになります.
{
  "job": {
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "column": ["id" , "fid" , "name" , "type" , "ab"],
            "connection": [
              {
                "jdbcUrl": ["jdbc:mysql://192.168.0.111:3306/etl"],
                "table": ["district"]
              }
            ],
            "password": "root",
            "username": "root",
            "where": ""
          }
        },
        "writer": {
          "name": "postgresqlwriter",
          "parameter": {
            "column": ["id" , "fid" , "name" , "type" , "ab"],
            "connection": [
              {
                "jdbcUrl": "jdbc:postgresql://192.168.0.111:5432/etl",
                "table": ["district"]
              }
            ],
            "password": "root",
            "postSql": [],
            "preSql": [],
            "username": "postgres"
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 5
      }
    }
  }
}


に知らせる
  • DataXはテーブル構造を同期できないため、データを同期する際にはwriterのテーブルがすでに存在することを保証しなければならない.
  • columnフィールドは、同期が必要なフィールドにフィールドを書くことを保証するために「*」ではなく、使用しないほうがいいです.WARN:プロファイル内のカラム構成にはリスクがあります.データベース・テーブルを読み込むカラムが構成されていないため、テーブル・フィールドの数やタイプが変更されると、タスクの正確性に影響したり、エラーが発生したりする可能性があります.
  • 通常データベースへの書き込みを推奨しない場合、チャネル数>32