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

:コードレス UI を使用してバッチ同期ノードを設定する (2.0)

最終更新日:Apr 09, 2025

このトピックでは、コードレス ユーザーインターフェース (UI) を使用して定期的にスケジュールされるバッチ同期ノードを設定する方法、およびノードをコミットしてデプロイする方法について説明します。

前提条件

  1. 必要なデータソースが設定されていること。データ同期ノードを設定する前に、データの読み取り元となるデータソースとデータの書き込み先となるデータソースを設定する必要があります。こうすることで、バッチ同期ノードを設定するときにデータソースを選択できます。バッチ同期でサポートされているデータソースの種類、Reader プラグイン、および Writer プラグインについては、「サポートされているデータソースの種類と同期操作」を参照してください。

    説明

    データソースを設定する前に理解しておく必要がある項目については、「データソースの追加と管理」を参照してください。

  2. ビジネス要件を満たす Data Integration 専用のリソースグループが購入されていること。詳細については、Data Integration 専用のリソースグループを作成して使用する を参照してください。

  3. Data Integration 専用のリソースグループとデータソース間のネットワーク接続が確立されていること。詳細については、ネットワーク接続ソリューション を参照してください。

DataStudio ページに移動する

  1. DataWorks コンソール にログオンします。

  2. 左側のナビゲーションペインで、[ワークスペース] をクリックします。

  3. 上部のナビゲーションバーで、目的のワークスペースが存在するリージョンを選択します。ワークスペースページで、ワークスペースを見つけ、[アクション] 列の [datastudio] をクリックします。 DataStudio ページが表示されます。

手順

  1. 手順 1: バッチ同期ノードを作成する

  2. 手順 2: バッチ同期ノードを設定する

    1. Data Integration 専用のリソースグループとデータソース間のネットワーク接続を確立します。

    2. データの読み取り元となるテーブルとデータの書き込み先となるテーブルを選択し、ソースを設定するときにフィルター条件を指定します。

    3. フィールドマッピングを設定します。

    4. 最大転送速度やダーティデータレコードの設定など、チャネル制御ポリシーを設定します。

    5. バッチ同期ノードのスケジューリングプロパティを設定します。

  3. 手順 3: バッチ同期ノードをコミットしてデプロイする

手順 1: バッチ同期ノードを作成する

  1. ワークフローを作成します。詳細については、ワークフローを作成する を参照してください。

  2. バッチ同期ノードを作成します。

    次のいずれかの方法を使用して、バッチ同期ノードを作成できます。

    • 方法 1: DataWorks コンソールにログオンします。左側のナビゲーションペインで、[ワークスペース] をクリックします。ワークスペースページで、バッチ同期ノードを作成するワークスペースを見つけ、[アクション] 列の [DataStudio] をクリックします。 DataStudio ページの [スケジュールワークフロー] ペインで、作成したワークフローを見つけ、その名前をクリックします。 [データ統合] を右クリックし、[ノードの作成] > [バッチ同期] を選択します。

    • 方法 2: DataWorks コンソールにログオンします。左側のナビゲーションペインで、[ワークスペース] をクリックします。ワークスペースページで、バッチ同期ノードを作成するワークスペースを見つけ、[アクション] 列の [DataStudio] をクリックします。 DataStudio ページの [スケジュールワークフロー] ペインで、作成したワークフローを見つけ、その名前をダブルクリックします。表示されるワークフロー編集タブの [データ統合] セクションで、[バッチ同期] をクリックします。

  3. [ノードの作成] ダイアログボックスで、パラメーターを設定してバッチ同期ノードを作成します。

手順 2: バッチ同期ノードを設定する

  1. Data Integration 専用のリソースグループとデータソース間のネットワーク接続を確立します。

    ソース、宛先、および Data Integration 専用のリソースグループを選択し、リソースグループとデータソース間のネットワーク接続を確立します。

    重要

    設定する必要がある項目は、Reader プラグインまたは Writer プラグインによって異なります。次の表は、バッチ同期ノードを設定するときに必要な一般的な設定項目を示しています。 Reader プラグインまたは Writer プラグインでサポートされている設定項目と設定方法については、関連する Reader プラグインまたは Writer プラグインのトピックを参照してください。バッチ同期でサポートされているデータソースの種類、Reader プラグイン、および Writer プラグインについては、「サポートされているデータソースの種類と同期操作」を参照してください。

  2. [次の手順] をクリックして、バッチ同期ノードのソースと宛先を設定します。

    1. データの読み取り元となるテーブルとデータの書き込み先となるテーブルを選択します。

      データソース選択セクションで、データの読み取り元となるテーブルとデータの書き込み先となるテーブルを選択し、ソースを設定するときにフィルター条件を指定します。

      • ソースの設定項目

        設定項目

        説明

        フィルター条件

        • データの読み取り元となるテーブルを選択した後に [フィルター条件] を指定すると、テーブル内のフィルター条件を満たすデータのみが同期されます。フィルター条件は、スケジューリングパラメーターと一緒に使用できます。こうすることで、フィルター条件はスケジューリングパラメーターの設定に応じて動的に変更でき、増分データを同期できます。増分同期の構成と実装は、Reader プラグインの種類によって異なります。詳細については、増分データのみを同期するようにバッチ同期ノードを設定する を参照してください。

          説明
          • バッチ同期ノードのスケジューリングプロパティを設定するときに、フィルター条件で指定した変数に値を割り当てることができます。バッチ同期ノードのスケジューリングパラメーターを設定して、ソースのフルデータまたは増分データを宛先テーブルの関連する時間ベースのパーティションに書き込むことができます。詳細については、サポートされているスケジューリングパラメーターの形式 を参照してください。

          • 増分同期を実装するために使用されるフィルター条件の構文は、データベースでサポートされている構文とほぼ同じです。データ同期中、バッチ同期ノードは、指定されたフィルター条件に基づいて取得された完全な SQL ステートメントを使用して、ソースからデータを抽出します。

        • デフォルトでは、フィルター条件を指定しないと、ソースのすべてのデータが同期されます。

        リレーショナルデータベースのシャードキー

        シャードキーは、ソースデータのシャーディング基準となるフィールドを指定します。シャードキーを指定すると、ソースデータはシャーディングされ、複数のシャードに分散されます。こうすることで、バッチ同期ノードは並列スレッドを実行してデータをバッチで読み取ることができます。

        説明
        • ソーステーブルのプライマリキー列の名前をシャードキーとして指定することをお勧めします。こうすることで、データは特定のシャードにのみ集中的に分散されるのではなく、プライマリキー列に基づいて異なるシャードに均等に分散されます。

        • シャードキーは、整数データ型のデータのみをシャーディングするために使用できます。シャードキーを使用してサポートされていないデータ型のデータをシャーディングすると、バッチ同期ノードは指定したシャードキーを無視し、単一のスレッドを使用してデータを読み取ります。

        • シャードキーが指定されていない場合、データ同期ノードは単一のスレッドを使用してデータを読み取ります。

        • シャードキーの設定に対する Reader プラグインのサポートは、Reader プラグインの種類によって異なります。このトピックで提供されている手順は参考用です。 Reader プラグインのトピックを参照して、Reader プラグインがシャードキーの設定をサポートしているかどうかを確認できます。バッチ同期でサポートされているデータソースの種類、Reader プラグイン、および Writer プラグインについては、「サポートされているデータソースの種類と同期操作」 を参照してください。

      • 宛先の設定項目

        設定項目

        説明

        データ同期の前後に実行する SQL ステートメント

        DataWorks では、特定の種類の宛先にデータを書き込む前後に SQL ステートメントを実行できます。

        たとえば、MySQL Writer を使用するバッチ同期ノードを設定するときに、SQL ステートメント truncate table tablename を宛先にデータを書き込む前に実行されるステートメントとして設定できます。このステートメントは、指定されたテーブルの既存のデータを削除するために使用されます。また、宛先にデータを書き込んだ後に実行されるステートメントとして SQL ステートメントを設定することもできます。

        競合が発生した場合に使用される書き込みモード

        パス競合やプライマリキー競合などの競合が発生した場合に、宛先にデータを書き込むために使用される書き込みモードを指定できます。設定は、宛先の属性と Writer プラグインのサポートによって異なります。この項目を設定するには、関連する Writer プラグインのトピックを参照してください。

    2. フィールドマッピングを設定します。

      ソースフィールドと宛先フィールド間のマッピングが設定されると、バッチ同期ノードは、マッピングに基づいて、ソースフィールドの値を同じデータ型の宛先フィールドに書き込みます。

      ソースフィールドのデータ型は、宛先フィールドのデータ型と異なる場合があります。この場合、ソースフィールドの値を宛先フィールドに書き込むことができません。宛先に書き込めなかった値は、ダーティデータと見なされます。 [チャネル制御ポリシーを設定する] サブステップで説明されている操作を参照して、データ同期中に許可されるダーティデータレコードの最大数を指定できます。

      説明

      ソースフィールドにマッピングされた宛先フィールドがない場合、ソースフィールドを宛先に同期できません。

      ソースフィールドをソースフィールドと同じ名前の宛先フィールドにマッピングしたり、ソースの行のフィールドを宛先の同じ行のフィールドにマッピングしたりできます。フィールドマッピングを設定するときに、次の操作を実行することもできます。

      • ソーステーブルにフィールドを追加し、フィールドに値を割り当てる: ソースフィールドリストの [追加] をクリックして、ソーステーブルにフィールドを追加できます。追加されたフィールドは、データ同期中に宛先テーブルに同期されます。フィールドは、'123' や '${変数名}' など、単一引用符 (') で囲まれた定数および変数にすることができます。

        説明

        変数をフィールドとしてソーステーブルに追加する場合、バッチ同期ノードのスケジューリングプロパティを設定するときに、変数に値を割り当てることができます。スケジューリングパラメーターについては、サポートされているスケジューリングパラメーターの形式 を参照してください。

      • ソーステーブルのフィールドを編集する: ソースフィールドリストの Edit アイコンをクリックして、次の操作を実行できます。

        • ソースでサポートされている関数を使用して、ソーステーブルのフィールドを処理します。たとえば、Max(id) 関数を使用して、ソーステーブルの ID が最大の行のデータの同期を実装できます。

        • フィールドマッピングを設定するときにソーステーブルの一部のフィールドのみが表示される場合は、ソーステーブルのフィールドを編集します。

        説明

        MaxCompute Reader を使用するバッチ同期ノードを設定する場合、関数はサポートされていません。

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

      チャネル制御ポリシーを設定して、データ同期の属性を定義できます。

      パラメーター

      説明

      [予想される最大同時実行数]

      バッチ同期ノードがソースからデータを読み取るか、宛先にデータを書き込むために使用する並列スレッドの最大数。

      説明

      データ同期中に使用される並列スレッドの実際の数は、Data Integration 専用のリソースグループの仕様により、指定されたしきい値以下になる場合があります。 Data Integration 専用のリソースグループの使用料金は、使用される並列スレッドの数に基づいて課金されます。詳細については、パフォーマンスメトリック を参照してください。

      [帯域幅調整]

      調整を有効にするかどうかを指定します。

      • 調整を有効にする場合は、ソースへの読み取り負荷が大きくなりすぎるのを防ぐために、最大転送速度を指定できます。このパラメーターの最小値は 1 MB/s です。

      • 調整を有効にしない場合、データは、指定された並列スレッドの最大数に基づいて、ハードウェアで許可される最大転送速度で転送されます。

      説明

      帯域幅は Data Integration によって提供されるメトリックであり、Elastic Network Interface (ENI) の実際のトラフィックを表すものではありません。ほとんどの場合、ENI トラフィックはチャネルトラフィックの 1 ~ 2 倍です。実際の ENI トラフィックは、データストレージシステムのシリアル化によって異なります。

      [許可されるダーティデータレコード]

      許可されるダーティデータレコードの最大数。

      重要

      データ同期中に大量のダーティデータが生成されると、データ同期の全体的な速度に影響します。

      • このパラメーターが設定されていない場合、データ同期中にダーティデータレコードが許可され、ダーティデータレコードが生成されてもバッチ同期ノードは引き続き実行できます。

      • このパラメーターを 0 に設定すると、ダーティデータレコードは許可されません。データ同期中にダーティデータレコードが生成されると、バッチ同期ノードは失敗します。

      • このパラメーターに 0 より大きい値を指定すると、次のようになります。

        • データ同期中に生成されるダーティデータレコードの数が指定した値以下の場合、ダーティデータレコードは無視され、宛先に書き込まれず、バッチ同期ノードは引き続き実行されます。

        • データ同期中に生成されるダーティデータレコードの数が指定した値を超えると、バッチ同期ノードは失敗します。

      説明

      ダーティデータとは、ビジネスにとって意味のないデータ、指定されたデータ型と一致しないデータ、またはデータ同期中に例外が発生するデータのことです。単一のデータレコードを宛先に書き込むときに例外が発生した場合、そのデータレコードはダーティデータと見なされます。宛先に書き込めなかったデータレコードは、ダーティデータと見なされます。

      たとえば、バッチ同期ノードがソースの VARCHAR 型データを宛先の INT 型フィールドに書き込もうとすると、データ変換エラーが発生し、データは宛先に書き込まれません。この場合、データはダーティデータです。バッチ同期ノードを設定するときに、ダーティデータを許可するかどうかを制御できます。また、データ同期中に許可されるダーティデータレコードの最大数を指定することもできます。生成されたダーティデータレコードの数が指定した上限を超えると、バッチ同期ノードは失敗して終了します。

      [分散実行]

      バッチ同期ノードの分散実行モードを有効にするかどうかを指定します。

      • バッチ同期ノードの分散実行モードを有効にすると、システムはノードをスライスに分割し、複数の Elastic Compute Service (ECS) インスタンスに分散して並列実行します。この場合、ECS インスタンスが多いほど、データ同期の速度が速くなります。

      • バッチ同期ノードの分散実行モードを有効にしない場合、指定された並列スレッドの最大数は、ノードを実行する単一の ECS インスタンスに対してのみ使用されます。

      データ同期のパフォーマンスに高い要件がある場合は、バッチ同期ノードを分散実行モードで実行できます。バッチ同期ノードを分散実行モードで実行すると、ECS インスタンスのフラグメントリソースを活用できます。これにより、リソース使用率が向上します。

      重要
      • 専用のリソースグループに ECS インスタンスが 1 つしかない場合は、バッチ同期ノードを分散実行モードで実行しないことをお勧めします。

      • 1 つの ECS インスタンスでデータ転送速度のビジネス要件を満たせる場合は、分散実行モードを有効にする必要はありません。これにより、ノードの実行モードを簡素化できます。

      • 分散実行モードは、指定した並列スレッドの最大数が 8 以上の場合にのみ有効にできます。

      • バッチ同期ノードが分散実行モードをサポートするかどうかは、データソースの種類によって異なります。詳細については、Reader プラグインと Writer プラグインのトピックを参照してください。バッチ同期でサポートされているデータソースの種類、Reader プラグイン、および Writer プラグインについては、「サポートされているデータソースの種類と同期操作」を参照してください。

      説明

      上記の構成に加えて、バッチ同期ノードのデータ同期の全体的な速度は、ソースのパフォーマンスやデータ同期のネットワーク環境などの要因にも影響されます。バッチ同期ノードのデータ同期の速度とパフォーマンチューニングについては、バッチ同期プロセスを高速化または低速化する を参照してください。

  3. [次の手順] をクリックして、バッチ同期ノードのスケジューリングプロパティを設定します。

    DataWorks でバッチ同期ノードを定期的にスケジュールするには、ノードのスケジューリングプロパティを設定する必要があります。このサブステップでは、バッチ同期ノードのスケジューリングプロパティを設定する方法について説明します。スケジューリングパラメーターの使用方法については、データ同期におけるスケジューリングパラメーターの使用に関する説明 を参照してください。

    • スケジューリングパラメーターを設定する: バッチ同期ノードの構成で変数を使用する場合、変数にスケジューリングパラメーターを値として割り当てることができます。

    • 時間プロパティを設定する: 時間プロパティは、本番環境でバッチ同期ノードをスケジュールするモードを定義します。バッチ同期ノードの時間プロパティを設定するセクションでは、ノードのインスタンス生成モード、スケジューリングタイプ、スケジューリングサイクルなどの属性を設定できます。

    • リソースプロパティを設定する: リソースプロパティは、バッチ同期ノードを Data Integration の関連する専用リソースグループに発行するために使用されるスケジューリング専用の resource group を定義します。使用するスケジューリング専用の resource group を選択できます。

      説明

      DataWorks は、スケジューリング用の resource group を使用して、Data Integration のバッチ同期ノードを Data Integration の resource group に発行し、Data Integration の resource group を使用してノードを実行します。スケジューリング用の resource group を使用してバッチ同期ノードをスケジュールするための料金が発生します。ノード発行メカニズムの詳細については、「リソースグループ管理」を参照してください。

  4. [設定の完了] をクリックします。

手順 3: バッチ同期ノードをコミットしてデプロイする

DataWorks でバッチ同期ノードを定期的に実行するには、ノードを本番環境にデプロイする必要があります。ノードのデプロイ方法については、ノードをデプロイする を参照してください。

次の手順

バッチ同期ノードが本番環境にデプロイされたら、本番環境のオペレーションセンターに移動してノードを表示できます。バッチ同期ノードの O&M 操作 (ノードの実行と管理、ノードの状態の監視、ノードの実行に使用される resource group の O&M など) の実行方法については、バッチ同期ノードの O&M を参照してください。