すべてのプロダクト
Search
ドキュメントセンター

DataWorks:AnalyticDB for MySQL 2.0

最終更新日:Mar 01, 2026

AnalyticDB for MySQL 2.0 データソースは、AnalyticDB for MySQL 2.0 のデータを読み書きするための双方向チャンネルを提供します。このトピックでは、DataWorks が AnalyticDB for MySQL 2.0 に対して提供するデータ同期機能について説明します。

制限事項

  • オフライン同期を使用してビューからデータを読み取ることができます。

  • AnalyticDB for MySQL 2.0 Reader は複数値型をサポートしていません。複数値型を使用すると、同期タスクは失敗します。

サポートされるフィールドタイプ

オフライン読み取り

次の表に、AnalyticDB for MySQL 2.0 Reader のデータ型のマッピングを示します。

AnalyticDB for MySQL 2.0 の型

DataX の型

MaxCompute の型

BIGINT

LONG

BIGINT

TINYINT

LONG

INT

TIMESTAMP

DATE

DATETIME

VARCHAR

STRING

STRING

SMALLINT

LONG

INT

INT

LONG

INT

FLOAT

STRING

DOUBLE

DOUBLE

STRING

DOUBLE

DATE

DATE

DATETIME

TIME

DATE

DATETIME

オフライン書き込み

次の表に、AnalyticDB for MySQL 2.0 Writer のデータ型のマッピングを示します。

AnalyticDB for MySQL 2.0 のデータ型

整数

INT、TINYINT、SMALLINT、BIGINT

浮動小数点

FLOAT および DOUBLE

文字列

VARCHAR

日付と時刻

DATE および TIMESTAMP

ブール値

BOOLEAN

データソースの追加

DataWorks で同期タスクを開発する前に、「データソース管理」の指示に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際に、DataWorks コンソールでパラメーターの説明を表示して、各パラメーターの意味を理解することができます

データ同期タスクの開発

同期タスクの設定のエントリポイントと手順については、以下の設定ガイドをご参照ください。

単一テーブルのオフライン同期タスクの設定

データベース全体のオフライン読み取り同期タスクの設定

詳細については、「データベース全体のリアルタイム同期タスクの設定」をご参照ください。

付録:スクリプトデモとパラメーターの説明

コードエディタを使用したバッチ同期タスクの設定

コードエディタを使用してバッチ同期タスクを設定する場合、統一されたスクリプトフォーマットの要件に基づいて、スクリプト内の関連パラメーターを設定する必要があります。詳細については、「コードエディタでのタスク設定」をご参照ください。以下では、コードエディタを使用してバッチ同期タスクを設定する際に、データソースに対して設定する必要があるパラメーターについて説明します。

Reader スクリプトデモ

{
    "type": "job",
  "steps": [
    {
            "stepType": "ads",
      "parameter": {
        "datasource": "ads_demo",
        "table": "th_test",
        "column": [
          "id",
          "testtinyint",
          "testbigint",
          "testdate",
          "testtime",
          "testtimestamp",
          "testvarchar",
          "testdouble",
          "testfloat"
        ],
        "odps": {
          "accessId": "<yourAccessKeyId>",
          "accessKey": "<yourAccessKeySecret>",
          "account": "*********@aliyun.com",
          "odpsServer": " http://service.cn-shanghai-vpc.maxcompute.aliyun-inc.com/api",
          "tunnelServer": "http://dt.cn-shanghai-vpc.maxcompute.aliyun-inc.com",
          "accountType": "aliyun",
          "project": "odps_test"
        },
        "mode": "ODPS"
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "version": "2.0",
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": ""
    },
    "speed": {
      "concurrent": 2,
      "throttle": true,// throttle が false の場合、mbps パラメーターは有効にならず、トラフィックはスロットリングされません。throttle が true の場合、トラフィックはスロットリングされます。
                  "mbps":"12"// スロットリング。1 mbps は 1 MB/s に相当します。
    }
  }
}

Reader スクリプトのパラメーター

パラメーター

説明

必須

デフォルト値

table

データのエクスポート元テーブルの名前。

はい

なし

column

列名。このパラメーターを指定しない場合、すべての列が選択されます。

いいえ

*

limit

エクスポートするレコードの最大数。

いいえ

なし

where

データをフィルターするための WHERE 句。この文字列はクエリ文に直接追加されます。例:where id < 100

いいえ

なし

mode

インポートモード。有効な値は Select と ODPS です。

  • Select:LIMIT 句を使用してページングします。

  • ODPS:ODPS DUMP を使用してデータをエクスポートします。ODPS にアクセスするための権限が必要です。

いいえ

Select

odps.accessKey

`mode` が `ODPS` の場合に必須です。AnalyticDB for MySQL 2.0 が ODPS にアクセスするために使用する Alibaba Cloud アカウントの AccessKey Secret。このアカウントには、Describe、Create、Select、Alter、Update、Drop の権限が必要です。

いいえ

なし

odps.accessId

`mode` が `ODPS` の場合に必須です。AnalyticDB for MySQL 2.0 が ODPS にアクセスするために使用する Alibaba Cloud アカウントの AccessKey ID。このアカウントには、Describe、Create、Select、Alter、Update、Drop の権限が必要です。

いいえ

なし

odps.odpsServer

`mode` が `ODPS` の場合に必須です。ODPS API のエンドポイント。

いいえ

なし

odps.tunnelServer

`mode` が `ODPS` の場合に必須です。ODPS Tunnel のエンドポイント。

いいえ

なし

odps.project

`mode` が `ODPS` の場合に必須です。ODPS プロジェクトの名前。

いいえ

なし

odps.accountType

このパラメーターは `mode` が `ODPS` の場合に有効になります。ODPS へのアクセスに使用されるアカウントのタイプ。

いいえ

aliyun

Writer スクリプトデモ

{
    "type":"job",
    "version":"2.0",
    "steps":[ 
        {
            "stepType":"stream",
            "parameter":{
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"ads",// プラグイン名。
            "parameter":{
                "partition":"",// 宛先テーブルのパーティション名。
                "datasource":"",// データソース。
                "column":[// フィールド。
                     "id"
                ],
                "writeMode":"insert",// 書き込みモード。
                "batchSize":"256",// 1 回のバッチで送信するレコード数。
                "table":"",// テーブル名。
                "overWrite":"true",// 宛先テーブルの既存のデータを上書きするかどうかを指定します。有効な値は true と false です。true の場合、システムは既存のデータを上書きします。false の場合、システムは新しいデータを追加します。このパラメーターは、writeMode が Load に設定されている場合にのみ有効です。
                "options.ignoreEmptySource":true// ソースファイルが空の場合に報告されるエラーを無視するかどうかを指定します。このパラメーターが true に設定されている場合、タスクは失敗しません。デフォルト値:true。このパラメーターを設定しない場合、デフォルト値の true が使用されます。このパラメーターが false に設定されていて、ソースデータが読み取れない場合、タスクは失敗します。
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"// 許容されるエラーレコード数。
        },
        "speed":{
            "throttle":true,// throttle が false の場合、mbps パラメーターは有効にならず、トラフィックはスロットリングされません。throttle が true の場合、トラフィックはスロットリングされます。
            "concurrent":1, // 同時実行ジョブ数。
            "mbps":"12"// スロットリング。1 mbps は 1 MB/s に相当します。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer スクリプトのパラメーター

パラメーター

説明

必須

デフォルト値

接続 URL

AnalyticDB for MySQL 2.0 の接続情報。フォーマット:アドレス:ポート

はい

なし

データベース

AnalyticDB for MySQL 2.0 データベースの名前。

はい

なし

Access Id

AnalyticDB for MySQL 2.0 インスタンスの AccessKey ID

はい

なし

Access Key

AnalyticDB for MySQL 2.0 インスタンスの AccessKey Secret

はい

なし

datasource

データソースの名前。コードエディタはデータソースの追加をサポートしています。このパラメーターの値は、追加されたデータソースの名前と同じである必要があります。

はい

なし

table

宛先テーブルの名前。

はい

なし

partition

宛先テーブルのパーティション名。宛先テーブルが標準テーブルの場合、このパラメーターは必須です。

いいえ

なし

writeMode

AnalyticDB for MySQL 2.0 Writer は、AnalyticDB for MySQL 2.0 にデータをインポートするための 2 つのモードをサポートしています。

  • 挿入モード:プライマリキーの競合が発生した場合、新しいレコードが古いレコードを上書きします。

  • Load モード:サードパーティシステムを介してデータがインポートされます。

はい

なし

column

宛先テーブルのフィールドのリスト。["*"] に設定してすべてのフィールドを含めるか、["a", "b", "c"] のようにフィールドのリストを指定できます。

はい

なし

suffix

AnalyticDB for MySQL 2.0 の URL フォーマットは ip:port です。このパラメーターはカスタム接続文字列を指定するもので、オプションです。AnalyticDB for MySQL 2.0 データベースにアクセスすると、この文字列は Java Database Connectivity (JDBC) 接続文字列に変換されます。例:autoReconnect=true&failOverReadOnly=false&maxReconnects=10

いいえ

なし

batchSize

1 回のバッチで書き込むレコード数。このパラメーターは、`writeMode` が `insert` に設定されている場合にのみ有効です。

`writeMode` が `insert` の場合に必須です。

なし

bufferSize

DataX データ収集バッファーのサイズ。ソースデータは、まずこのバッファーでソートされ、その後 AnalyticDB for MySQL 2.0 に送信されます。データは、AnalyticDB for MySQL 2.0 サーバーのパフォーマンスを向上させるために、宛先テーブルのパーティションキー列に基づいてソートされます。

バッファー内のデータは、`batchSize` で指定されたバッチで AnalyticDB for MySQL 2.0 に送信されます。`bufferSize` は `batchSize` の値の数倍に設定することを推奨します。このパラメーターは、writeMode が `insert` に設定されている場合にのみ有効です。

`writeMode` が `insert` の場合に必須です。

この機能はデフォルトで無効になっています。