このトピックでは、Hologres コネクタを使用して、YAML データインジェストのデプロイメントでデータを同期する方法について説明します。
背景
Hologres は、大規模なリアルタイムの書き込み、更新、分析をサポートするリアルタイムデータウェアハウスエンジンです。Hologres は PostgreSQL プロトコルと互換性があり、標準 SQL をサポートしています。ペタバイト規模のデータに対するオンライン分析処理 (OLAP) とアドホッククエリをサポートし、高い同時実行性と低レイテンシーでデータを提供します。Hologres は MaxCompute、Realtime Compute for Apache Flink、DataWorks と統合し、完全なオンラインおよびオフラインのデータウェアハウスソリューションを提供します。次の表に、Hologres YAML コネクタの機能を示します。
|
項目 |
説明 |
|
テーブルタイプ |
シンク |
|
実行モード |
ストリーミングおよびバッチモード |
|
データフォーマット |
N/A |
|
メトリック |
説明
詳細については、「メトリック」をご参照ください。 |
|
API タイプ |
YAML |
|
シンクテーブルでの更新または削除 |
サポート |
機能
|
機能 |
説明 |
|
データベース全体または複数のテーブルから、対応するシンクテーブルへ、フルデータおよび増分データをリアルタイムで同期します。 |
|
|
ソーステーブルから対応するシンクテーブルへ、スキーマの変更 (列の追加、削除、名前の変更など) をリアルタイムで同期します。 |
|
|
正規表現を使用して、複数のシャーディングされたデータベース全体で名前でソーステーブルを照合します。これらのテーブルからのデータは、マージされ、名前が対応するダウンストリームのシンクテーブルに同期されます。 |
|
|
アップストリームテーブルから Hologres パーティションテーブルへデータを書き込みます。 |
|
|
複数の戦略を使用して、アップストリームのデータ型をより大きい Hologres データ型にマッピングします。 |
構文
sink:
type: hologres
name: Hologres シンク
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
パラメータ
|
パラメーター |
説明 |
タイプ |
必須 |
デフォルト |
備考 |
|
type |
シンクのタイプ。 |
String |
はい |
なし |
値は |
|
name |
シンクの名前。 |
String |
いいえ |
なし |
N/A。 |
|
dbname |
データベース名。 |
String |
はい |
なし |
N/A。 |
|
username |
データベースアクセス用のユーザー名。Alibaba Cloud アカウントの AccessKey ID を使用します。 |
String |
はい |
なし |
詳細については、「AccessKey ID と AccessKey Secret の表示方法」をご参照ください。 重要
AccessKey が公開されるのを防ぐため、変数を使用してその値を指定します。詳細については、「プロジェクト変数」をご参照ください。 |
|
password |
データベースアクセス用のパスワード。Alibaba Cloud アカウントの AccessKey Secret を使用します。 |
String |
はい |
なし |
|
|
endpoint |
Hologres サービスのエンドポイント。 |
String |
はい |
なし |
詳細については、「アクセスエンドポイント」をご参照ください。 |
|
jdbcRetryCount |
接続が失敗した場合の書き込みおよびクエリ操作のリトライ回数。 |
Integer |
いいえ |
10 |
N/A。 |
|
jdbcRetrySleepInitMs |
各リトライ試行の固定待機時間。 |
Long |
いいえ |
1000 |
単位: ミリ秒。 再試行の実際の待機時間は、次の計算式で算出されます。 |
|
jdbcRetrySleepStepMs |
各リトライ試行の増分待機時間。 |
Long |
いいえ |
5000 |
単位:ミリ秒。リトライの実際の待機時間は、次の計算式を用いて算出されます: |
|
jdbcConnectionMaxIdleMs |
JDBC 接続の最大アイドル時間。 |
Long |
いいえ |
60000 |
単位:ミリ秒。接続がこの期間を超えてアイドル状態になると、切断され、解放されます。 |
|
jdbcMetaCacheTTL |
ローカルにキャッシュされた TableSchema 情報の有効期限。 |
Long |
いいえ |
60000 |
単位:ミリ秒。 |
|
jdbcMetaAutoRefreshFactor |
キャッシュ更新トリガーを決定する係数。キャッシュの残りの有効期間がトリガー時間より短い場合、システムは自動的にキャッシュを更新します。 |
Integer |
いいえ |
4 |
キャッシュの残り有効期間は、次の式で計算されます。 キャッシュの残り有効期間 = キャッシュの有効期限 - キャッシュのアクティブ時間。自動更新後、キャッシュのアクティブ時間は 0 にリセットされます。 トリガー時刻は、式 |
|
mutatetype |
データ書き込みモード。 |
String |
いいえ |
INSERT_OR_UPDATE |
Hologres 物理テーブルにプライマリキーが設定されている場合、Hologres シンクはプライマリキーに基づいて exactly-once セマンティクスを保証します。プライマリキーが重複するデータが到着した場合、
|
|
createparttable |
パーティションテーブルに書き込む際に、存在しないパーティションを自動的に作成するかどうかを指定します。 |
Boolean |
いいえ |
false |
N/A。 |
|
sink.delete-strategy |
取り消しメッセージの処理方法を指定します。 |
String |
いいえ |
なし |
有効な値:
|
|
jdbcWriteBatchSize |
JDBC モードにおいて、バッチ書き込みの前に Hologres シンクでバッファリングするレコードの最大数。 |
Integer |
いいえ |
256 |
単位:行。 説明
jdbcWriteBatchSize、jdbcWriteBatchByteSize、および jdbcWriteFlushInterval パラメーターは OR 関係にあります。3 つすべてのパラメーターを設定した場合、いずれかの条件が満たされるとすぐに結果データが書き込まれます。 |
|
jdbcWriteBatchByteSize |
JDBC モードにおいて、このパラメーターは、バッチを宛先に書き込む前に Hologres シンクがバッファリングするデータの最大サイズ (バイト単位) を指定します。 |
Long |
いいえ |
2,097,152 バイト (2 MB) |
説明
jdbcWriteBatchSize、jdbcWriteBatchByteSize、および jdbcWriteFlushInterval パラメーターは OR 関係にあります。3 つすべてのパラメーターを設定した場合、いずれかの条件が満たされるとすぐに結果データが書き込まれます。 |
|
jdbcWriteFlushInterval |
JDBC モードにおいて、このパラメーターは、バッファリングされたデータを Hologres に書き込む前に Hologres シンクが待機する最大時間を指定します。 |
Long |
いいえ |
10000 |
単位:ミリ秒。 説明
jdbcWriteBatchSize、jdbcWriteBatchByteSize、および jdbcWriteFlushInterval パラメーターは OR 関係にあります。3 つすべてのパラメーターを設定した場合、いずれかの条件が満たされるとすぐに結果データが書き込まれます。 |
|
ignoreNullWhenUpdate |
|
Boolean |
いいえ |
false |
有効な値:
|
|
jdbcEnableDefaultForNotNullColumn |
定義されたデフォルト値がない NOT NULL 列に null が書き込まれた場合に、デフォルト値を挿入するかどうかを指定します。 |
Boolean |
いいえ |
true |
有効な値:
|
|
remove-u0000-in-text.enabled |
書き込み前に文字列から NULL 文字 ( |
Boolean |
いいえ |
false |
有効な値:
|
|
deduplication.enabled |
jdbc および jdbc_fixed モードでの書き込み前に、各バッチ内で重複排除を実行するかどうかを指定します。 |
Boolean |
いいえ |
true |
有効な値:
|
|
sink.type-normalize-strategy |
データ型マッピング戦略。 |
String |
いいえ |
STANDARD |
Hologres シンクがアップストリームのデータ型を Hologres の型に変換するために使用する戦略。
|
|
sink.insert.legacy-put-handler |
従来の Put Handler を使用して Hologres にデータを書き込むかどうかを指定します。 |
Boolean |
いいえ |
false |
有効な値:
|
|
table_property.* |
Hologres の物理テーブルプロパティ。 |
String |
いいえ |
なし |
Hologres テーブルを作成する際、WITH 句で物理テーブルプロパティを設定できます。適切なテーブルプロパティは、システムがデータを効率的に整理し、クエリを実行するのに役立ちます。 警告
|
|
connection.ssl.mode |
Secure Sockets Layer (SSL) 転送時の暗号化を有効にするかどうか、および使用するモードを指定します。 |
String |
いいえ |
disable |
説明
|
|
connection.ssl.root-cert.location |
転送時の暗号化モードで証明書が必要な場合に、証明書ファイルへのパスを指定します。 |
String |
いいえ |
なし |
connection.ssl.mode が verify-ca または verify-full に設定されている場合、CA 証明書へのパスも設定する必要があります。 Realtime Compute コンソールのファイル管理機能を使用して、証明書をプラットフォームにアップロードできます。 証明書がアップロードされると、/flink/usrlib ディレクトリに保存されます。 たとえば、CA 証明書ファイルの名前が certificate.crt の場合、パラメーター値は 説明
CA 証明書を取得するには、「転送時の暗号化 - CA 証明書のダウンロード」をご参照ください。 |
|
connection.akv4.enabled |
AKV4 モードを有効にして Hologres サーバーに接続するかどうかを指定します。 |
Boolean |
いいえ |
false |
N/A。 |
|
connection.akv4.region |
AKV4 モードが有効な場合に、サーバーが配置されているリージョンを指定します。 |
String |
いいえ |
なし |
例えば、 |
既存のカタログの再利用
VVR 11.5 以降では、データ管理ページで作成された組み込みの Hologres カタログを Flink CDC データインジェスト ジョブで直接参照できます。これにより、接続プロパティを手動で指定する手間が省けます。
sink:
type: hologres
using.built-in-catalog: my_holo_catalog
データインジェスト ジョブは、次の Hologres カタログパラメーターを自動的に再利用できます:
-
エンドポイント
-
ユーザー名
-
パスワード
-
データベース名
これらの自動的に再利用されるパラメーターをオーバーライドするには、対応する YAML パラメーターを明示的に指定します。明示的に指定したパラメーターが優先されます。
データ型マッピング
パラメーター sink.type-normalize-strategy を使用して、アップストリームデータを Hologres 型に変換する戦略を設定できます。
-
YAML ジョブを初めて起動するときに
sink.type-normalize-strategyを有効にしてください。ジョブの開始後に有効にする場合は、ダウンストリームテーブルを削除し、ステートなしでジョブを再起動しないと、設定が有効になりません。 -
現在、配列型は INTEGER、BIGINT、FLOAT、DOUBLE、BOOLEAN、CHAR、VARCHAR のみをサポートします。
-
Hologres は numeric 型をプライマリキーとしてサポートしていません。プライマリキーの型が
numericにマッピングされる場合、システムはそれをvarchar型に変換します。
STANDARD
sink.type-normalize-strategy が STANDARD に設定されている場合、型は次のようにマッピングされます:
|
Flink CDC 型 |
Hologres 型 |
|
CHAR |
bpchar |
|
STRING |
text |
|
VARCHAR |
text (長さ > 10485760 の場合) |
|
varchar (長さ <= 10485760 の場合) |
|
|
BOOLEAN |
bool |
|
BINARY |
bytea |
|
VARBINARY |
|
|
DECIMAL |
numeric |
|
TINYINT |
int2 |
|
SMALLINT |
|
|
INTEGER |
int4 |
|
BIGINT |
int8 |
|
FLOAT |
float4 |
|
DOUBLE |
float8 |
|
DATE |
date |
|
TIME_WITHOUT_TIME_ZONE |
time |
|
TIMESTAMP_WITHOUT_TIME_ZONE |
timestamp |
|
TIMESTAMP_WITH_LOCAL_TIME_ZONE |
timestamptz |
|
ARRAY |
対応する要素型の配列 |
|
MAP |
非対応 |
|
ROW |
非対応 |
BROADEN
sink.type-normalize-strategy が BROADEN に設定されている場合、Flink CDC 型はより広範囲の Hologres 型に変換されます。型は次のようにマッピングされます:
|
Flink CDC 型 |
Hologres 型 |
|
CHAR |
text |
|
STRING |
|
|
VARCHAR |
|
|
BOOLEAN |
bool |
|
BINARY |
bytea |
|
VARBINARY |
|
|
DECIMAL |
numeric |
|
TINYINT |
int8 |
|
SMALLINT |
|
|
INTEGER |
|
|
BIGINT |
|
|
FLOAT |
float8 |
|
DOUBLE |
|
|
DATE |
date |
|
TIME_WITHOUT_TIME_ZONE |
time |
|
TIMESTAMP_WITHOUT_TIME_ZONE |
timestamp |
|
TIMESTAMP_WITH_LOCAL_TIME_ZONE |
timestamptz |
|
ARRAY |
対応する要素型の配列 |
|
MAP |
非対応 |
|
ROW |
非対応 |
ONLY_BIGINT_OR_TEXT
sink.type-normalize-strategy が ONLY_BIGINT_OR_TEXT に設定されている場合、すべての Flink CDC 型は Hologres の BIGINT または text 型に変換されます。データ型マッピングは次のとおりです:
|
Flink CDC 型 |
Hologres 型 |
|
TINYINT |
int8 |
|
SMALLINT |
|
|
INTEGER |
|
|
BIGINT |
|
|
BOOLEAN |
text |
|
BINARY |
|
|
VARBINARY |
|
|
DECIMAL |
|
|
FLOAT |
|
|
DOUBLE |
|
|
DATE |
|
|
TIME_WITHOUT_TIME_ZONE |
|
|
TIMESTAMP_WITHOUT_TIME_ZONE |
|
|
TIMESTAMP_WITH_LOCAL_TIME_ZONE |
|
|
ARRAY |
対応する要素型の配列 |
|
MAP |
非対応 |
|
ROW |
非対応 |
パーティションテーブルへの書き込み
Hologres シンクと変換を組み合わせ、アップストリームデータを Hologres パーティションテーブルに書き込むことができます。
-
パーティションキーはプライマリキーの一部である必要があります。アップストリームデータの非プライマリキー列をパーティションキーとして使用すると、アップストリームテーブルとダウンストリームテーブルのプライマリキーに不整合が生じ、データ同期中にデータの不一致が発生する可能性があります。 -
Hologres では、TEXT、VARCHAR、INT のデータ型の列を
パーティションキーとして使用できます。バージョン 1.3.22 以降では、DATE データ型の列もサポートされています。 -
子パーティションテーブルを自動的に作成するには、
createparttableパラメーターをtrueに設定します。設定しない場合は、手動で作成する必要があります。
例については、「Writing data to a partitioned table」をご参照ください。
テーブルスキーマ同期
CDC YAML パイプラインは、テーブルスキーマの変更を処理するためにさまざまな戦略を使用します。これらは、パイプラインレベルのパラメーター schema.change.behavior で設定できます。schema.change.behavior の有効な値は、IGNORE、LENIENT、TRY_EVOLVE、EVOLVE、および EXCEPTION です。Hologres シンクは現在、TRY_EVOLVE 戦略をサポートしていません。LENIENT および EVOLVE 戦略は、テーブルスキーマの変更を伴います。以降のセクションでは、これら 2 つのモードがさまざまなスキーマ変更イベントをどのように処理するかを説明します。
LENIENT (デフォルト)
LENIENT モードでは、スキーマの変更は次のように処理されます。
-
NULL 許容列の追加:対応する列がシンクテーブルの末尾に自動的に追加され、そのデータが同期されます。
-
NULL 許容列の削除:列はシンクテーブルから削除されません。代わりに、その列には自動的に NULL 値が設定されます。
-
NOT NULL 列の追加:対応する NULL 許容列がシンクテーブルの末尾に自動的に追加され、そのデータが同期されます。既存の行では、この新しい列に自動的に NULL が設定されます。
-
列の名前変更:この操作は、列の削除と新しい列の追加として扱われます。指定された名前の新しい列がシンクテーブルの末尾に追加され、元の名前の列には自動的に NULL 値が設定されます。例えば、col_a が col_b に名前変更された場合、col_b 列がシンクテーブルの末尾に追加され、col_a 列には自動的に NULL 値が設定されます。
-
列のデータ型の変更:サポートされていません。Hologres は列のデータ型の変更をサポートしていないため、
sink.type-normalize-strategyパラメーターを使用する必要があります。 -
以下のスキーマ変更はサポートされていません。
-
プライマリキーやインデックスなどの制約の変更。
-
NOT NULL 列の削除。
-
列を NOT NULL から NULLABLE に変更。
-
EVOLVE
EVOLVE モードでは、スキーマの変更は次のように処理されます。
-
NULL 許容列の追加:サポートされています。
-
NULL 許容列の削除:サポートされていません。
-
NOT NULL 列の追加:新しい NULL 許容列がシンクテーブルに追加されます。
-
列の名前変更:サポートされています。元の列はシンクテーブルで名前が変更されます。
-
列のデータ型の変更:サポートされていません。Hologres は列のデータ型の変更をサポートしていないため、
sink.type-normalize-strategyパラメーターを使用する必要があります。 -
以下のスキーマ変更はサポートされていません。
-
プライマリキーやインデックスなどの制約の変更。
-
NOT NULL 列の削除。
-
列を NOT NULL から NULLABLE に変更。
-
EVOLVE モードでは、シンクテーブルを削除せずにステートレス再起動を実行すると、アップストリームデータとシンクテーブル間のスキーマの不整合によりパイプラインが失敗する可能性があります。その場合、手動でシンクテーブルのスキーマを調整する必要があります。
例については、「EVOLVE モードの有効化」をご参照ください。
コード例
型拡張
sink.type-normalize-strategy パラメーターを使用して型拡張を設定します。
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
パーティションテーブルへの書き込み
create_time タイムスタンプフィールドを日付型に変換し、Hologres テーブルのパーティションキーとして使用します。
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# パーティションテーブルが存在しない場合は自動的に作成します。
createparttable: true
transform:
- source-table: test_db.test_source_table
projection: \*, DATE_FORMAT(CAST(create_time AS TIMESTAMP), 'yyyy-MM-dd') as partition_key
primary-keys: id, create_time, partition_key
partition-keys: partition_key
description: パーティションキーの追加
pipeline:
name: MySQL to Hologres Pipeline
EVOLVE モードの有効化
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# パーティションテーブルが存在しない場合は自動的に作成します。
createparttable: true
pipeline:
name: MySQL to Hologres Pipeline
schema.change.behavior: evolve
単一テーブル同期
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
完全なデータベース同期
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
シャードテーブルのマージ
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.user\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
route:
# MySQL の test_db データベース内のすべてのシャードテーブルを、test_db.user という名前の単一の Hologres テーブルにマージします。
- source-table: test_db.user\.*
sink-table: test_db.user
pipeline:
name: MySQL to Hologres Pipeline
指定スキーマへの同期
Hologres では、スキーマは MySQL のデータベースに対応します。同期先テーブルのスキーマを指定できます。
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
route:
# 元のテーブル名を維持したまま、MySQL の test_db データベースからすべてのテーブルを Hologres の test_db2 スキーマに同期します。
- source-table: test_db.\.*
sink-table: test_db2.<>
replace-symbol: <>
pipeline:
name: MySQL to Hologres Pipeline
再起動なしでの新しいテーブルの同期
ジョブの実行中に新しく追加されたテーブルをリアルタイムで同期するには、scan.binlog.newly-added-table.enabled: true を設定します。
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
# ジョブの実行中に作成された新しいテーブルを自動的にキャプチャします。
scan.binlog.newly-added-table.enabled: true
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
再起動時に既存のテーブルを追加
同期に既存のテーブルを含めるには、scan.newly-added-table.enabled を true に設定してジョブを再起動します。
以前に scan.binlog.newly-added-table.enabled で実行されたジョブで scan.newly-added-table.enabled を使用しないでください。この組み合わせは、再起動時にデータの重複を引き起こします。
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
scan.startup.mode: initial
# 再起動時に、ジョブは `tables` パラメーターに一致する新しいテーブルをスキャンし、スナップショットを実行します。
# 注:このパラメーターは scan.startup.mode: initial と一緒に使用する必要があります。
scan.newly-added-table.enabled: true
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
テーブルの除外
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
# この正規表現に一致するテーブルを除外します。
tables.exclude: test_db.table1
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# CDC データ型をより広範な Hologres 型にマッピングします。
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres Pipeline
関連ドキュメント
-
ソース、シンク、変換、ルートの各モジュールの詳細については、「Flink CDC Data Ingestion Job Development Reference」をご参照ください。
-
データインジェスト YAML ジョブを開発するには、「Flink CDC Data Ingestion Job Development」をご参照ください。