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

Realtime Compute for Apache Flink:Flink CDC ルートモジュール

最終更新日:Feb 07, 2026

route モジュールは、ソーステーブルから結果テーブルへのマッピングを定義するルールを指定します。本トピックでは、ルーティングルールの構文について説明します。

パラメーター

パラメーター

説明

必須

備考

source-table

ソーステーブルを指定します。

必須

正規表現をサポートします。

sink-table

結果テーブルを指定します。

必須

replace-symbol

結果テーブル名に含まれる文字列を、ソーステーブル名で置き換えることを指定します。

任意

たとえば、replace-symbol<> に設定した場合、sink-tablesinkdb.<> のように設定できます。ソーステーブルが table1 の場合、データは同一のテーブル名 sinkdb.table1 の結果テーブルにレプリケートされます。

description

ルーティングルールの説明です。

任意

重要

新しいルールを適用するには、ルートモジュールを変更後にステートレス起動を実行してください。

単一テーブル同期

ソーステーブル mysql_db.web_order から結果テーブル sink_db.ods_web_order へデータをルーティングします:

route:
  - source-table: mysql_db.web_order
    sink-table: sink_db.ods_web_order
    description: sync data from a source table to a sink table
image

1 対多マッピング

ソーステーブルから複数の結果テーブルへデータをコピーするには、複数のルーティングルールを定義します。以下のコードは、mydb.orders から sink_db.orders および backup_sink_db.orders へ同時にデータをレプリケートします。

route:
  - source-table: mydb.orders
    sink-table: sink_db.orders
  - source-table: mydb.orders
    sink-table: backup_sink_db.orders
image

複数の 1 対 1 マッピング

YAML のリスト記述子であるハイフン (-) を使用して複数のルールを定義します。これらのルールはすべて同時並行で適用されます。

route:
  - source-table: mydb.orders
    sink-table: ods_db.ods_orders
    description: sync orders table to ods_orders
  - source-table: mydb.shipments
    sink-table: ods_db.ods_shipments
    description: sync shipments table to ods_shipments
  - source-table: mydb.products
    sink-table: ods_db.ods_products
    description: sync products table to ods_products
image

シャードテーブルのマージ

source_db データベース内のすべてのテーブルを、結果テーブル sink_db.merged に統合します。

route:
  - source-table: source_db.\.*
    sink-table: sink_db.merged
    description: merge sharded tables to a unified sink table
image

データベース同期

source_db データベース内のすべてのテーブルを、sink_db データベース内の対応するテーブルへ同期します。テーブル名は変更しません。

route:
  - source-table: source_db.\.*
    sink-table: sink_db.<>
    replace-symbol: <>
    description: route all tables in source_db to sink_db

<> はソーステーブル名を表すプレースホルダーであり、ソーステーブルから結果テーブルへの 1 対 1 マッピングを可能にします。

image

高度なルーティングルール

ルートモジュールは、キャプチャグループによる置換をサポートしています。

source-table の正規表現内で括弧を使用してキャプチャグループを作成し、sink-table 内では $1$2 のようにキャプチャされた内容を参照できます。

代表的なユースケースとそのルーティングルールは以下のとおりです:

  • キャプチャされたデータベース名にプレフィックスを追加し、テーブル名はそのまま保持する:

    route:
      - source-table: (\.*).(\.*)
        sink-table: ods_$1.$2

    最初のキャプチャグループ ($1) は完全なデータベース名にマッチし、2 番目のキャプチャグループ ($2) は完全なテーブル名にマッチします。最終的な結果テーブル ID は、これらを組み合わせたものになります。

  • キャプチャされたデータベース名およびテーブル名の両方にプレフィックスを追加する:

    route:
      - source-table: (\.*).(\.*)
        sink-table: ods_$1.upstream_$2
  • キャプチャされたデータベース名およびテーブル名を 1 つのデータベース内の単一の結果テーブル名に結合する:

    route:
      - source-table: db_no_(\.*).table_no_(\.*)
        sink-table: sink_db.table_$1_$2

    このルールは、2 つのキャプチャグループ(db_no_100.table_no_300100 および 300)を抽出し、データを結果テーブル sink_db.table_100_300 に書き込みます。