このトピックでは、Flink Change Data Capture (CDC) データインジェストジョブのソースモジュールと sink モジュールについて説明し、サポートされているコネクタを一覧表示します。
サポートされるコネクタ
コネクタ | サポートタイプ | |
ソース | sink | |
説明 ApsaraDB RDS for MySQL、PolarDB for MySQL、およびセルフマネージド MySQL への接続をサポートします。 | √ | × |
× | √ | |
√ 説明 VVR 8.0.10 以降でのみサポートされます。 | √ | |
× | √ | |
× | √ | |
× | √ | |
√ 説明 VVR 11.1 以降でのみサポートされます。 | × | |
√ 説明 VVR 11.2 以降でのみサポートされます。 | × | |
× | √ 説明 VVR 11.1 以降でのみサポートされます。 | |
× | √ 説明 VVR 11.1 以降でのみサポートされます。 | |
√ 説明 VVR 11.4 以降でのみサポートされます。 | × | |
× | √ | |
× | √ 説明 VVR 11.6 以降でのみサポートされます。 | |
コネクタの設定
Flink CDC データインジェストジョブでは、ソースコネクタと sink コネクタのパラメーターを設定できます。サポートされているコネクタとそのパラメーターの詳細については、以降のセクションをご参照ください。
# ソースモジュール
source:
type: mysql # または別のコネクタ識別子
name: MySQL Source
# その他のパラメーター。キー: 値 のペアを使用します。
# sink モジュール
sink:
type: paimon # または別のコネクタ識別子
name: Paimon Sink
# その他のパラメーター。キー: 値 のペアを使用します。全般設定
パラメーター | 説明 | 必須 | タイプ | デフォルト | 備考 |
type | ソースまたは sink のコネクタタイプ。 | はい | String | なし | なし |
name | ノードの名前。 | いいえ | String | なし | なし |
using.built-in-catalog | 組み込みカタログを再利用します。 | いいえ | String | なし |
|
カタログからの接続情報の再利用
VVR 11.5 以降、Flink CDC データインジェストジョブ用に Data Management ページで作成された組み込みカタログを直接参照できます。これにより、URL、ユーザー名、パスワードなどの接続プロパティが再利用され、手動での設定が簡素化されます。
構文
source:
type: mysql
using.built-in-catalog: mysql_rds_catalog
sink:
type: paimon
using.built-in-catalog: paimon_dlf_catalogソースおよび sink モジュールの using.built-in-catalog パラメーターを使用して、既存の組み込みカタログを参照できます。
例えば、上記の例では、mysql_rds_catalog のカタログメタデータには、hostname、username、password などの必須パラメーターがすでに含まれています。そのため、これらのパラメーターを YAML ジョブで再度指定する必要はありません。
注意事項
以下のコネクタは、カタログからの接続情報の再利用をサポートしています:
MySQL (ソース)
Kafka (ソース)
Upsert Kafka (sink)
StarRocks (sink)
Hologres (sink)
Paimon (sink)
Simple Log Service (ソース)
Iceberg (sink)
CDC YAML 設定と互換性のないカタログパラメーターは無視されます。詳細については、各コネクタのパラメーターリストをご参照ください。
ソースの設定
パラメーター | 説明 | 必須 | タイプ | デフォルト | 備考 |
source-expand | ソースから出力されるデータの分散ストラテジーを指定します。 | いいえ | 設定の詳細については、構文のセクションをご参照ください。 | なし |
|
source-expand
source-expand パラメーターは、Transform モジュールと Route モジュールがデータを処理する前に、データを分散または複製します。
構文
source:
type: mysql
host: localhost
port: 3306
username: admin
password: pass
tables: mydb.orders
source-expand:
# mydb.orders を 3 つのテーブルに複製し、それぞれを sink に書き込む前に異なる方法で処理します。
- input-table: mydb.orders
output-table: [ dwd.orders_full, dws.orders_summary, ads.orders_report ]
# 拡張された 3 つのテーブルそれぞれに異なる変換を適用します
transform:
# DWD レイヤー:すべてのフィールドを保持し、計算列を追加します
- source-table: dwd.orders_full
projection: "*, amount * discount as final_price"
# DWS レイヤー:キーフィールドのみを保持し、少額の注文をフィルターします
- source-table: dws.orders_summary
projection: order_id, user_id, amount, order_status
filter: amount > 100
primary-keys: order_id
# ADS レイヤー:レポートに必要なフィールドのみを保持し、キャンセルされた注文をフィルターします
- source-table: ads.orders_report
projection: order_id, user_id, amount, TO_UPPER(order_status) as status
filter: order_status <> 'CANCELLED'
primary-keys: order_id
# 拡張された 3 つのテーブルを異なる sink テーブルにルーティングします
route:
- source-table: dwd.orders_full
sink-table: starrocks_dwd.orders_full_detail
- source-table: dws.orders_summary
sink-table: starrocks_dws.orders_summary
- source-table: ads.orders_report
sink-table: starrocks_ads.orders_report
sink:
type: starrocks
name: sink-starrocks
jdbc-url: jdbc:mysql://localhost:9030
load-url: localhost:8030
username: root
password: pass例に示すように、この設定は mydb.orders テーブルのデータを dwd.orders_full、dws.orders_summary、ads.orders_report の 3 つの論理テーブルに複製します。これらの各テーブルは、個別の sink テーブルに書き込まれる前に、それぞれ異なる方法で処理されます。
注意事項
VVR 11.6 以降で利用可能です。
デフォルトでは、データ分散後に元のテーブルは保持されません。構文の例では、
mydb.ordersテーブルはデータストリームから削除されます。元のテーブルを保持するには、output-tableリストに追加します。source-expand: - input-table: mydb.orders output-table: [ mydb.orders, db1.orders, db2.orders ]input-tableおよびoutput-tableパラメーターは正規表現をサポートしていません。
sink の設定
パラメーター | 説明 | 必須 | タイプ | デフォルト | 備考 |
include.schema.changes | 適用するスキーマ変更のタイプを指定します。 | いいえ | List<String> | なし | デフォルトでは、すべてのスキーマ変更が同期されます。 |
exclude.schema.changes | 除外するスキーマ変更のタイプを指定します。 | いいえ | List<String> | なし |
|
include.schema.changes と exclude.schema.changes の使用方法の詳細については、「スキーマ変更の同期設定」をご参照ください。