このトピックでは、コードエディターを使用して同期ノードを設定する方法について説明します。

開発プロセス

コードエディターを使用して同期ノードを作成するには、以下の手順に従います。
  1. 接続を作成します。
  2. バッチ同期ノードを作成します。
  3. テンプレートを適用します。
  4. 同期ノードの読み取り側を設定します。
  5. 同期ノードの書き込み側を設定します。
  6. ソースと出力先テーブルのフィールドをマッピングします。
  7. 最大転送速度やダーティデータレコード数の上限など、チャネル制御ポリシーを設定します。
  8. ノードのプロパティを設定します。

接続の作成

同期ノードは、さまざまな同種データストアと異種データストア間でデータを同期できます。 DataWorks コンソールで、 右上に表示される [ワークスペース管理] をクリックします。 表示されるページで [データソース] をクリックして接続を追加します。 詳細については、「接続の追加」をご参照ください。

接続の追加後、[DataStudio] ページで同期ノードを設定する際、追加した接続を直接選択できます。 Data Integration でサポートされている接続タイプの詳細については、「 Supported data stores and plug-ins」をご参照ください。

  • Data Integration は、一部の接続タイプの接続テストをサポートしていません。 詳細については、「データストア接続のテスト」をご参照ください。
  • データストアがオンプレミスにデプロイされ、パブリック IP アドレスが割り当てられていないか、またはネットワーク経由で直接接続できない場合、接続の設定時に接続テストが失敗します。 Data Integration では、カスタムリソースグループを使用してこの問題を解決できます。 詳細については、「カスタムリソースグループの追加」をご参照ください。
    データストアをネットワーク経由で直接接続できない場合、Date Integration はテーブルスキーマを取得できません。 この場合、データストアの同期ノードを作成するにはコードエディターを使用する必要があります。

ワークフローの作成

  1. DataWorks コンソールにログインします。 左側のナビゲーションペインで [ワークスペース] をクリックします。 [ワークスペース] ページでワークフローを作成するワークスペースを確認し、[操作] 列の[データ分析] をクリックします。
  2. 表示される [DataStudio] ページでポインターを ワークフローの作成 アイコンに移動して、[ワークフロー] をクリックします。
  3. [ワークフローの作成] ダイアログボックスで、[ワークフロー名] および [説明] を設定します。
  4. [作成] をクリックします。

バッチ同期ノードの作成

  1. ワークフローをクリックしてコンテンツを表示し、[Data Integration] を右クリックします 。
  2. [作成] > [バッチ同期] を選択します。
  3. 表示される[ノードの作成] ダイアログボックスで、[ノード名] および[場所] を設定します。
  4. [コミット] をクリックします。

テンプレートの適用

  1. 同期ノードが作成されると、ノード設定タブが表示されます。 ツールバーの [コードエディターに切り替え] アイコンをクリックします。
  2. 表示される [確認] ダイアログボックスで [OK] をクリックし、コードエディターに切り替えます。
    コードエディターは、コードレスユーザーインターフェイスよりも多くの機能をサポートしています。 たとえば、接続テストが失敗した場合でも、コードエディターで同期ノードを設定できます。
  3. ツールバーの [テンプレートの適用] アイコンをクリックします。
  4. 表示される [テンプレートの適用] ダイアログボックスで、[ソースの接続タイプ][接続][出力先の接続タイプ]、および [接続] を設定します。
  5. [OK] をクリックします。

同期ノードの読み取り側の設定

テンプレートが適用されると、読み取り側の基本設定が生成されます。 必要に応じて、ソース接続とソーステーブルを設定できます。
{"type": "job",
    "version": "2.0",
    "steps": [   // Do not modify the preceding lines. They indicate the header code of the sync node.
        {
            "stepType": "mysql",
            "parameter": {
                "datasource": "MySQL",
                "column": [
                    "id",
                    "value",
                    "table"
                ],
                "socketTimeout": 3600000,
                "connection": [
                    {
                        "datasource": "MySQL",
                        "table": [
                            "`case`"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader" // Specifies that these settings are related to the reader.
        },   
以下にパラメーターを説明します。
  • type:現在のノードのタイプを設定します。 job を設定します。
  • version:同期ノードのバージョン番号を設定します。 1.0 または 2.0 に設定します。
  • ソース接続を設定する方法ついては、「 Reader の設定」をご参照ください 。
  • 同期ノードのソース接続を設定する際、増分データ同期が必要となる場合があります。 この場合、DataWorks の スケジューリングパラメータ を使用して、増分データ同期に必要な日時を取得します。

同期ノードの書き込み側の設定

読み取り側の設定後、必要に応じて出力先の接続と出力先テーブルを設定します。

{ 
  "stepType": "odps",
  "parameter": {
      "partition": "",
      "truncate": true,
      "compress": false,
      "datasource": "odps_first",
      "column": [
          "*"
       ],
       "emptyAsNull": false,
       "table": ""
     },
     "name": "Writer",
     "category": "writer" // Specifies that these settings are related to the writer.
   }
 ],   
  • 出力先の接続を設定する方法については、 「Writer の設定」をご参照ください。
  • ほとんどのノードに対する書き込み方法を選択できます。 書き込み方法としては、上書き、または追加などがあります。 サポートされる書き込み方法は、接続タイプによって異なります。

ソースと出力先テーブルのフィールドをマッピングします。

コードエディターは、同じ行にあるフィールドのマッピングのみサポートしています。 フィールドのデータ型が一致する必要があることに注意してください。
ソースフィールドのデータ型が、マップされた出力先フィールドのデータ型と同じか、または互換性があることを確認してください。

チャネル制御ポリシーを設定します。

上記の手順の完了後、同期ノードのチャネル制御ポリシーを引き続き設定できます。 setting パラメーターで、同時スレッド数、帯域幅スロットリング、ダーティデータポリシー、およびリソースグループなどのノード効率パラメーターを指定します。

"setting": {
        "errorLimit": {
            "record": "1024" // The maximum number of dirty data records allowed.
        },
        "speed": {
            "throttle": false, // Specifies whether to enable bandwidth throttling.
            "concurrent": 1, // The maximum number of concurrent threads.   
        }
    },
パラメーター 説明
最大同時実行数の期待値 同期ノード内のデータストレージでデータを読み書きする同時スレッド数の上限を設定します。 コードレス UI でノードの同時実行を設定できます。
帯域幅スロットリング 帯域幅スロットリングを有効にするかどうかを指定します。 帯域幅スロットリングを有効化し、最大転送速度を設定すると、ソース側の読み取り作業負荷が過剰になることを回避できます。 帯域幅スロットリングを有効化し、最大伝送速度を適切な値に設定することを推奨します。
ダーティーデータレコードの許容数 ダーティーデータレコードの許容数の上限を設定します。
リソースグループ 同期ノードの [設定] タブで右上に表示される [リソースグループ] をクリックしてリソースグループを指定できます。

同期タスクを実行する際に使用するリソースグループを設定します。 デフォルトのリソースグループに、多数のノード (現在のノードを含む) が存在する場合、同期ノードがリソース待ちの状態になる場合があります。 その場合、データ統合用に専用のリソースグループを購入するか、またはカスタムリソースグループを追加することを推奨します。 詳細については、「DataWorks の排他的リソース」および「カスタムリソースグループの追加」をご参照ください。

ノードプロパティの設定

このセクションでは、データフィルタリングでスケジューリングパラメーターを使用する方法について説明します。

[DataStudio] ページで、ワークフロー内のプロパティを設定するバッチ同期ノードをダブルクリックします。 表示される [ノード設定] タブで、右側のナビゲーションペインに表示される [プロパティ] タブをダブルクリックしてノードのプロパティを設定します。

[プロパティ] タブでは、実行周期、同期ノードの実行時刻、依存関係など、同期ノードのプロパティを設定できます。 バッチ同期ノードは、ETL (抽出、変換、およびロード) の前に実行されるため、祖先ノードはありません。 ワークスペースのルートノードを親ノードとして指定することを推奨します。

同期ノードの設定後、ノードを保存してコミットします。 ノードプロパティの設定方法については、「スケジュール」をご参照ください。