このトピックでは、コードエディターを使用して同期ノードを設定する方法について説明します。
開発プロセス
- 接続を作成します。
- バッチ同期ノードを作成します。
- テンプレートを適用します。
- 同期ノードの読み取り側を設定します。
- 同期ノードの書き込み側を設定します。
- ソースと出力先テーブルのフィールドをマッピングします。
- 最大転送速度やダーティデータレコード数の上限など、チャネル制御ポリシーを設定します。
- ノードのプロパティを設定します。
接続の作成
同期ノードは、さまざまな同種データストアと異種データストア間でデータを同期できます。 DataWorks コンソールで、 右上に表示される [ワークスペース管理] をクリックします。 表示されるページで をクリックして接続を追加します。 詳細については、「接続の追加」をご参照ください。
接続の追加後、[DataStudio] ページで同期ノードを設定する際、追加した接続を直接選択できます。 Data Integration でサポートされている接続タイプの詳細については、「 Supported data stores and plug-ins」をご参照ください。
- Data Integration は、一部の接続タイプの接続テストをサポートしていません。 詳細については、「データストア接続のテスト」をご参照ください。
- データストアがオンプレミスにデプロイされ、パブリック IP アドレスが割り当てられていないか、またはネットワーク経由で直接接続できない場合、接続の設定時に接続テストが失敗します。
Data Integration では、カスタムリソースグループを使用してこの問題を解決できます。 詳細については、「カスタムリソースグループの追加」をご参照ください。
注 データストアをネットワーク経由で直接接続できない場合、Date Integration はテーブルスキーマを取得できません。 この場合、データストアの同期ノードを作成するにはコードエディターを使用する必要があります。
ワークフローの作成
- DataWorks コンソールにログインします。 左側のナビゲーションペインで [ワークスペース] をクリックします。 [ワークスペース] ページでワークフローを作成するワークスペースを確認し、[操作] 列の[データ分析] をクリックします。
- 表示される [DataStudio] ページでポインターを アイコンに移動して、[ワークフロー] をクリックします。
- [ワークフローの作成] ダイアログボックスで、[ワークフロー名] および [説明] を設定します。
- [作成] をクリックします。
バッチ同期ノードの作成
- ワークフローをクリックしてコンテンツを表示し、[Data Integration] を右クリックします 。
- を選択します。
- 表示される[ノードの作成] ダイアログボックスで、[ノード名] および[場所] を設定します。
- [コミット] をクリックします。
テンプレートの適用
同期ノードの読み取り側の設定
{"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 (抽出、変換、およびロード) の前に実行されるため、祖先ノードはありません。 ワークスペースのルートノードを親ノードとして指定することを推奨します。
同期ノードの設定後、ノードを保存してコミットします。 ノードプロパティの設定方法については、「スケジュール」をご参照ください。