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

DataWorks:AnalyticDB for MySQL 3.0 データソース

最終更新日:Mar 07, 2026

AnalyticDB for MySQL 3.0 データソースを使用すると、AnalyticDB for MySQL 3.0 からのデータの読み取りおよび書き込みが可能です。このトピックでは、DataWorks の AnalyticDB for MySQL 3.0 に対するデータ同期機能について説明します。

制限事項

  • 共有リソースグループ上で、データレイクハウスエディションのデータソース向けに同期タスクを構成または実行することはできません。

  • AnalyticDB for MySQL インスタンスをデータウェアハウスエディションからデータレイクハウスエディションに切り替えると、当該データソースを使用し、共有リソースグループ上で実行中の同期タスクは失敗します。インスタンスのエディションを切り替える前に、該当するタスクを確認し、サーバーレスリソースグループ(推奨) または専用 Data Integration リソースグループで実行されるよう再構成してください。

  • バッチ同期では、ビューからの読み取りがサポートされています。

サポートされるデータの型

バッチ読み取り

AnalyticDB for MySQL 3.0 Reader は、以下のデータの型をサポートしています。

種類

AnalyticDB for MySQL 3.0 のデータの型

整数型

INT、INTEGER、TINYINT、SMALLINT、BIGINT

浮動小数点型

FLOAT、DOUBLE、DECIMAL

文字列型

VARCHAR

日付・時刻型

DATE、DATETIME、TIMESTAMP、TIME

ブール型

BOOLEAN

バッチ書き込み

AnalyticDB for MySQL 3.0 Writer は、以下のデータの型をサポートしています。

種類

AnalyticDB for MySQL 3.0 のデータの型

整数型

INT、INTEGER、TINYINT、SMALLINT、BIGINT

浮動小数点型

FLOAT、DOUBLE、DECIMAL

文字列型

VARCHAR

日付・時刻型

DATE、DATETIME、TIMESTAMP、TIME

ブール型

BOOLEAN

データソースの追加

DataWorks で同期タスクを開発する前に、データソース管理 の手順に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際には、DataWorks コンソール内の パラメーター説明 をご参照ください。これにより、各パラメーターの意味を確認できます。

データ同期タスクの開発

同期タスクの設定入口および設定手順については、以下の設定ガイドをご参照ください。

単一テーブルバッチ同期タスクの設定

単一テーブルリアルタイム同期タスクの設定

設定方法については、「単一テーブルリアルタイム同期タスクの設定」をご参照ください。

フルデータベースバッチ同期の設定

設定方法については、「フルデータベースバッチ同期タスクの設定」をご参照ください。

フルデータベースリアルタイム同期の設定

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

付録:スクリプト例とパラメーター

コードエディタによるバッチ同期タスクの設定

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

Reader スクリプト例

{
  "type": "job",
  "steps": [
    { 
      "stepType": "analyticdb_for_mysql", // プラグイン名。
      "parameter": {
        "column": [ // 読み取るカラム。
          "id",
          "value",
          "table"
        ],
        "connection": [
          {
            "datasource": "xxx", // データソース名。
            "table": [ // テーブル名。
              "xxx"
            ]
          }
        ],
        "where": "", // フィルター条件。
        "splitPk": "", // 分割キー。
        "encoding": "UTF-8" // エンコード形式。
      },
      "name": "Reader",
      "category": "reader"
    },
    { 
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "version": "2.0",
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": "0" // 許容されるエラーレコードの最大数。
    },
    "speed": {
      "throttle":true,// `true` を指定すると速度制限が有効になり、`mbps` 制限が適用されます。`false` を指定すると無効になります。
      "concurrent":1, // タスクの同時実行数。
      "mbps":"12"// MB/s 単位でのレート制限。
    }
  }
}

Reader パラメーター

パラメーター

説明

必須

デフォルト

datasource

ご利用の DataWorks データソースの名前。

はい

なし

table

ソーステーブル名。

はい

なし

column

ソーステーブルから同期するカラムの配列。デフォルト値 [*] は、すべてのカラムを意味します。

  • エクスポートするカラムのサブセットを選択できます。

  • テーブルスキーマ内の順序に関係なく、任意の順序でカラムを指定できます。

  • 定数を指定できます。MySQL の構文に従う必要があります。例:["id", "`table`", "1", "'bazhen.csy'", "null", "to_char(a + 1)", "2.3" , "true"]

    • id は標準的なカラム名です。

    • table はカラム名として使用される予約キーワードです。

    • 1 は整数定数です。

    • bazhen.csy は文字列定数です。

    • null は NULL 値を指定します。

    • to_char(a + 1) は関数式です。

    • 2.3 は浮動小数点数です。

    • true はブール値です。

  • 同期するカラムを明示的に指定する必要があります。column 配列は空にできません。

はい

なし

splitPk

AnalyticDB for MySQL 3.0 Reader がデータを抽出する際、splitPk パラメーターを指定すると、システムは splitPk で指定されたフィールドに基づいてデータをシャードします。その結果、並列タスクを使用してデータ同期が実行され、効率が向上します。

  • 最適なパフォーマンスを得るためには、テーブルのプライマリキーを 分割キー として使用してください。プライマリキー列の値は通常均等に分散されており、サブタスク間のデータスキューを防止するのに役立ちます。

  • 分割キー は整数型である必要があります。文字列型、浮動小数点型、日付型はサポートされていません。サポートされていないデータの型のカラムを指定した場合、分割キー は無視され、タスクは逐次実行されます。

  • splitPk を指定しない場合(splitPk を提供しない、または splitPk の値を空欄にするなど)、テーブルのデータは単一チャネルで同期されます。

いいえ

なし

where

フィルター条件。たとえば、当日分のデータのみを同期する場合は、where 条件を gmt_create>$bizdate に設定できます。

  • where 句は、増分ビジネスデータ同期を効果的に行うために使用できます。where 文を指定しない場合(where キーまたは値を提供しない場合を含む)、データ同期はフルデータ同期として処理されます。

  • LIMIT 10 のような条件は指定できません。条件は MySQL の WHERE 句の構文に準拠している必要があります。

いいえ

なし

Writer スクリプト例

{
  "type": "job",
  "steps": [
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "analyticdb_for_mysql", // プラグイン名。
      "parameter": {
        "postSql": [], // インポート後に実行する SQL 文。
        "tableType": null, // 予約フィールド。デフォルト値は null です。
        "datasource": "hangzhou_ads", // データソース名。
        "column": [ // 同期するカラム。
          "id",
          "value"
        ],
        "guid": null,
        "writeMode": "insert", // 書き込みモード。writeMode パラメーターの説明を参照してください。
        "batchSize": 2048, // 各バッチ書き込みのレコード数。batchSize パラメーターの説明を参照してください。
        "encoding": "UTF-8", // エンコード形式。
        "table": "t5", // 宛先テーブル名。
        "preSql": [] // インポート前に実行する SQL 文。
      },
      "name": "Writer",
      "category": "writer"
    }
  ],
  "version": "2.0", // 構成ファイルフォーマットのバージョン。
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": "0" // 許容されるエラーレコードの最大数。
    },
    "speed": {
      "throttle":true,// `true` を指定すると速度制限が有効になり、`mbps` 制限が適用されます。`false` を指定すると無効になります。
      "concurrent":2, // タスクの同時実行数。
      "mbps":"12"// MB/s 単位でのレート制限。
    }
  }
}

Writer パラメーター

パラメーター

説明

必須

デフォルト

datasource

ご利用の DataWorks データソースの名前。

はい

なし

table

宛先テーブル名。

はい

なし

writeMode

データ書き込み方法。有効な値は insertreplaceupdate です。

  • insert:新規レコードを挿入します。プライマリキーまたは一意なインデックスの競合が発生した場合、当該レコードはスキップされます。

  • replace:新規レコードを挿入します。プライマリキーまたは一意なインデックスの競合が発生した場合、新規レコードが既存のレコードを置き換えます。

  • update:新規レコードを挿入します。プライマリキーまたは一意なインデックスの競合が発生した場合、既存のレコードが新規の値で更新されます。

    説明

    このモードはコードエディタでのみ利用可能です。

いいえ

insert

column

データを書き込む宛先テーブルのカラム。カラム名はカンマで区切ります。例:"column": ["id", "name", "age"]。すべてのカラムに順番通りに書き込む場合は、アスタリスク (*) を使用します。例:"column": ["*"]

説明

カラム名に select などの予約キーワードが含まれる場合、バックティック (`) で囲んでください。たとえば、item_select_noitem_select_no と指定します。

はい

なし

preSql

書き込みタスク開始前に実行する 1 つ以上の SQL 文。コードレス UI では 1 文のみ、コードエディタでは複数文がサポートされます。

説明

複数の SQL 文に対してトランザクションはサポートされていません。

いいえ

なし

postSql

書き込みタスク終了後に実行する 1 つ以上の SQL 文。コードレス UI では 1 文のみ、コードエディタでは複数文がサポートされます。

説明

複数の SQL 文に対してトランザクションはサポートされていません。

いいえ

なし

batchSize

値を大きくするとスループットが向上しますが、メモリ消費量も増加し、メモリ不足 (OOM) エラーを引き起こす可能性があります。

いいえ

1,024