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

Realtime Compute for Apache Flink:データ同期テンプレート

最終更新日:Nov 09, 2025

Flink Change Data Capture (CDC) は、リアルタイムデータ同期とテーブルスキーマ進化の自動同期をサポートしています。データ同期テンプレートを使用して、これらの同期タスク用の Flink SQL ジョブコードを迅速に生成できます。このトピックでは、複数データベースおよび複数テーブルの同期テンプレートまたはシャーディングされたデータのマージテンプレートを使用してデータを同期する方法について説明します。

背景情報

Realtime Compute for Apache Flink は、複数データベースおよび複数テーブルの同期とシャーディングされたデータのマージという 2 つのデータ同期メソッドをサポートしています。次の表に、2 つのメソッドの違いを示します。

同期メソッド

説明

複数データベースおよび複数テーブルの同期

複数データベースおよび複数テーブルの同期テンプレートを使用して、1 つ以上のデータベースから 1 つ以上のビジネスデータテーブルを別のデータベースにリアルタイムでコピーします。Flink CDC は、データベース全体の完全データと増分データを自動的に同期します。また、追加された列など、各ソーステーブルのスキーマ進化を、対応するターゲットテーブルにリアルタイムで同期します。複数データベースおよび複数テーブルの同期テンプレートは、パラメーターを CREATE DATABASE AS (CDAS) 文に変換します。CDAS 文の詳細については、「CREATE DATABASE AS (CDAS) 文」をご参照ください。

シャーディングされたデータのマージ

ビジネスデータが異なるデータベースやテーブルに分散している場合、シャーディングされたデータをマージする必要があることがよくあります。これにより、同様のスキーマを持つテーブルから単一のターゲットテーブルにデータを同期できます。Flink CDC は、ソースからすべてのシャーディングされたテーブルの完全データと増分データを自動的に同期します。これには、正規表現に一致する新しいテーブルも含まれます。また、追加された列など、各ソーステーブルのスキーマ進化を、ターゲットテーブルにリアルタイムで同期します。シャーディングされたデータのマージテンプレートは、パラメーターを CREATE TABLE AS (CTAS) 文に変換します。CTAS 文の詳細については、「CREATE TABLE AS (CTAS) 文」をご参照ください。

制限事項

データ同期は、MySQL から Hologres へのみサポートされています。

注意事項

MySQL から Hologres にデータを同期すると、スキーマ進化も同期されます。詳細については、「CREATE TABLE AS (CTAS) 文」をご参照ください。同期中は、次の点にご注意ください。

  • Flink が自動的にテーブルを作成するため、Hologres で手動でテーブルを作成する必要はありません。ただし、対応するテーブルが Hologres にすでに存在する場合、Flink はプランで選択したターゲットデータベースとテーブル情報をマッピングに使用します。

    Flink は Hologres にテーブルを自動的に作成します。ただし、対応するテーブルが Hologres にすでに存在する場合、Flink はプランで指定されたターゲットデータベースとテーブルにマッピングします。

  • Hologres は列の型の変更をサポートしていません。フィールドの型がターゲットの Hologres テーブルの対応するフィールドの型と異なる場合、書き込み操作は失敗します。その場合は、列の型を変更してデータを再同期する必要があります。

    フィールドの型がターゲットの Hologres テーブルの対応するフィールドの型と異なる場合、書き込み操作は失敗します。フィールドの型を変更してデータを再同期する必要があります。

Hologres 結果テーブルの詳細については、「Hologres 結果テーブル」をご参照ください。

手順

  1. Realtime Compute for Apache Flink コンソールにログオンします。

  2. ターゲットワークスペースの [アクション] 列で、[コンソール] をクリックします。

  3. [データ開発] > [ETL] ページで、image アイコンをクリックし、次に [テンプレートから作成] をクリックします。

  4. [データ同期テンプレート] タブで、[MySQL から Hologres へのデータ同期] をダブルクリックします。または、テンプレートを選択して右下隅にある [次へ] をクリックします。

  5. データ同期情報を構成します。

    1. ソースとターゲットを選択し、[次へ] をクリックします。

      选择源和目标

      カテゴリ

      構成項目

      説明

      ソース

      MySQL カタログ

      既存の MySQL カタログを選択します。ソースの MySQL カタログを作成していない場合は、[カタログの作成] をクリックします。カタログの作成方法の詳細については、「MySQL カタログの管理」をご参照ください。

      MySQL server-id

      各 MySQL データベースクライアントの一意の ID。値は 5400 から 6400 の範囲内である必要があります。5400-5408 のような ID 範囲を指定することもできます。増分読み取りモードで同時読み取りを有効にする場合は、このパラメーターを ID 範囲に設定することをお勧めします。これにより、各同時スレッドが異なる ID を使用することが保証されます。

      重要

      データベースにアクセスする他のジョブやサービスに同じサーバー ID を使用しないでください。

      ターゲット

      Hologres カタログ

      既存のターゲット Hologres カタログを選択します。ターゲットの Hologres カタログを作成していない場合は、[カタログの作成] をクリックします。詳細については、「Hologres カタログの管理」をご参照ください。

    2. プランを作成します。

      • 複数データベースおよび複数テーブルの同期

        1. [複数データベースおよび複数テーブルの同期] タブで、ソースデータベースとテーブルを選択します。数据模板中文

        2. [プランの保存] をクリックしてプランリストを表示します。计划列表

          説明

          複数データベースおよび複数テーブルのデータ同期を実行すると、このテンプレートはターゲットカタログにデータベースとテーブルを作成します。作成されたデータベースとテーブルの名前は、ソースカタログのものと同じです。デフォルトでは、データは public スキーマに同期されます。データベース名、テーブル名を変更したり、スキーマを指定したりするには、SQL 文を変更することをお勧めします。名前の変更方法の詳細については、「CREATE TABLE AS (CTAS) 文」および「CREATE DATABASE AS (CDAS) 文」をご参照ください。スキーマの指定方法の詳細については、「CDAS のターゲットカタログとして使用する」をご参照ください。スキーマを指定すると、カタログ内のテーブル名に必要なフォーマットも変更されます。詳細については、「Hologres カタログの管理」をご参照ください。

        3. [次へ] をクリックします。

        4. 選択したターゲットデータベースとテーブルに基づいてシステムが生成する SQL コードを表示します。多库多表SQL预览

          必要に応じて、[ファイル名][場所][エンジンバージョン] などの情報を変更できます。

      • シャーディングされたデータのマージ

        1. [シャーディングされたデータのマージ] タブで、ソースデータベースとテーブルを選択し、ターゲットデータベースとテーブルの名前を入力します。分库分表

          説明

          ソースデータベースとテーブルを指定するには、正規表現を使用することをお勧めします。

        2. [プランの保存] をクリックしてプランリストを表示します。计划列表

          単一のジョブで、複数データベースおよび複数テーブルの同期とシャーディングされたデータのマージの両方に対して複数のプランを作成できます。次の図に例を示します。多个执行计划

        3. [次へ] をクリックします。

        4. 選択したターゲットデータベースとテーブルに基づいてシステムが生成する SQL コードを表示します。分库分表SQL预览

          必要に応じて、[ファイル名][場所][エンジンバージョン] などの情報を変更できます。

  6. [作成] をクリックします。

    [作成] をクリックすると、SQL 開発ページが表示されます。その後の操作は、通常のジョブの場合と同じです。パラメーター構成とこれらの操作の詳細については、「ジョブ開発マップ」および「ジョブの開始」をご参照ください。