このトピックでは、Ververica Runtime(VVR)8.0.x以前のWITH句におけるHologresコネクタオプションについて説明します。
WITH句におけるコネクタオプション
全般
オプション | 説明 | データ型 | 必須? | デフォルト値 | 備考 |
| コネクタのタイプ。 | 文字列 | はい | デフォルト値なし | このオプションを |
| データベース名。 | 文字列 | はい | デフォルト値なし | Hologres V2.0では、仮想ウェアハウスインスタンスが新しいタイプの弾力性と高可用性インスタンスとして導入されました。コンピューティングリソースは複数の仮想ウェアハウスに分割され、高可用性デプロイメントが実装されます。異なる仮想ウェアハウスは同じエンドポイントを共有します。 説明 仮想ウェアハウスは、テーブルにJDBC関連モードを使用する場合にのみサポートされます。詳細については、ソース、ディメンション、またはシンクテーブルの |
| テーブル名。 | 文字列 | はい | デフォルト値なし | スキーマがpublicでない場合は、 |
|
| 文字列 | はい | デフォルト値なし |
重要 セキュリティを強化するために、AccessKeyペアをハードコーディングする代わりに、変数を使用してください。 |
|
| 文字列 | はい | デフォルト値なし | |
| Hologresのエンドポイント。 | 文字列 | はい | デフォルト値なし | 「Hologresに接続するためのエンドポイント」をご参照ください。 |
| SSL暗号化転送を有効にするかどうかを指定し、使用するSSL暗号化転送モードを指定します。 | 文字列 | いいえ |
|
説明
|
| CA証明書を使用する場合の証明書のパス。 | 文字列 | いいえ | デフォルト値なし |
説明
|
| 接続障害が発生した場合に、データの読み取りと書き込みに許可される最大再試行回数。 | 整数 | いいえ |
| |
| 各再試行の固定待機時間。 | 長い | いいえ |
| 各再試行の実際の待機時間は、次の式を使用して計算されます: |
| 各再試行の累積待機時間。 | 長い | いいえ |
| 各再試行の実際の待機時間は、次の式を使用して計算されます: |
| JDBC接続がアイドル状態を維持できる最大時間。 | 長い | いいえ |
| JDBC接続がこのオプションの値を超える時間アイドル状態のままである場合、接続は閉じられ、解放されます。単位:ミリ秒。 |
| TableSchema情報をキャッシュに保存する最大時間。 | 長い | いいえ |
| 単位:ミリ秒。 |
| 自動キャッシュリフレッシュをトリガーするための係数。キャッシュにデータを保存する残りの時間が、キャッシュの自動リフレッシュをトリガーする時間よりも短い場合、システムは自動的にキャッシュをリフレッシュします。 | 整数 | いいえ |
| キャッシュにデータを保存する残りの時間は、次の式を使用して計算されます。 キャッシュにデータを保存する残りの時間 = キャッシュの有効期限 - データがキャッシュに保存されている時間。 キャッシュが自動的にリフレッシュされると、データがキャッシュされる時間は 0 から再計算されます。 キャッシュの自動リフレッシュをトリガーする時間は、次の式を使用して計算されます。 jdbcMetaCacheTTL/jdbcMetaAutoRefreshFactor。 |
| Realtime Compute for Apache FlinkとHologres間で時間タイプの変換を実行するかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| コネクタオプションのバージョン。 | 整数 | いいえ |
| 有効な値:
説明
|
ソース固有
オプション | 説明 | データ型 | 必須? | デフォルト値 | 備考 |
| データエクスポート時に、行間で使用されるデリミタ。 | 文字列 | いいえ |
| |
| バイナリログデータを使用するかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| SDKモード。 | 文字列 | いいえ |
|
異なるバージョンで推奨される値については、「注意事項」をご参照ください。 |
| JDBCモードでのバイナリログソーステーブルのスロット名。 | 文字列 | いいえ | デフォルト値なし | このオプションは、 説明 Hologres V2.1以降とVVR 8.0.5以降を使用している場合は、このオプションの構成をスキップしてください。コネクタはスロットを自動的に作成しようとしません。 |
| Realtime Compute for Apache Flinkがバイナリログデータの読み取りに失敗した後の再試行回数。 | 整数 | いいえ |
| |
| Realtime Compute for Apache Flinkがバイナリログデータの読み取りに失敗した後の再試行間隔。 | 長い | いいえ |
| 単位:ミリ秒。 |
| 一度に読み取られるバイナリログデータの行数。 | 整数 | いいえ |
| |
| CDCモードでバイナリログデータを読み取るかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| ソーステーブルがUPSERTメッセージを含む変更ログストリームを読み取るかどうかを指定します。 | ブール値 | いいえ |
| このオプションは、CDCモードでのみ有効です。
説明 シンクテーブルにretraction演算子(たとえば、重複排除のためにOVER句とともに使用される |
| バイナリログの使用モード。 | 文字列 | いいえ |
|
説明 startTime オプションの方が優先順位が高くなります。つまり、startTime オプションを構成するか、ジョブの開始時に開始時点を選択すると、binlogStartupMode オプションは強制的に 説明
|
| Hologresデータの使用を開始する時刻。 | 文字列 | いいえ | デフォルト値なし | 形式は yyyy-MM-dd hh:mm:ss です。このオプションが構成されておらず、ジョブが状態から再開されない場合、Realtime Compute for Apache Flinkは最も古いバイナリログからHologresデータの使用を開始します。 |
| スキャン操作中に一度に処理できるデータレコードの数。 | 整数 | いいえ |
| |
| スキャン操作のタイムアウト期間。 | 整数 | いいえ |
| 単位:秒。 |
| スキャン操作が属するトランザクションのタイムアウト期間。 | 整数 | いいえ |
| このオプションは、Hologresの GUCパラメータ idle_in_transaction_session_timeout に対応します。 値 |
| フルデータ読み取りフェーズ中にフィルタプッシュダウンを実行するかどうかを指定します。 | ブール値 | いいえ |
|
|
| パーティションテーブルのバイナリログが使用されるモード。 | 列挙型 | いいえ |
|
|
| パーティションテーブルのデータが動的に消費されるときに、タイムアウトがトリガーされるまでに許容される最大待機時間。 | ブール値 | いいえ |
|
|
| パーティションテーブルのデータが静的モードで消費される場合、消費されるパーティション。 | String | いいえ | デフォルト値なし |
|
シンク固有
オプション | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
| SDK モード。 | 文字列 | いいえ |
|
さまざまな VVR バージョンでの推奨値については、「注意事項」をご参照ください。 |
| データをバルクロードモードで書き込むかどうかを指定します。 | ブール値 | いいえ |
|
説明 このオプションは、VVR 8.0.5 以降と Hologres V2.1 以降を使用する場合にサポートされています。 |
| RPC モードで Hologres コネクタを使用するかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| データ書き込みモード。 | 文字列 | いいえ |
|
説明
|
| パーティションテーブルにデータを書き込むかどうかを指定します。 | ブール値 | いいえ |
| |
| パーティション値に基づいて、存在しないパーティションテーブルを自動的に作成するかどうかを指定します。 | ブール値 | いいえ |
| RPC モードでは、パーティション値にハイフン( 説明
|
| リトラクションメッセージを無視するかどうかを指定します。 | ブール値 | いいえ |
| 説明
|
| リトラクションメッセージを処理するための戦略を指定します。 | 文字列 | いいえ | デフォルト値なし | 有効な値:
説明
|
| Realtime Compute for Apache Flink デプロイメントで作成される JDBC 接続プールのサイズ。 | 整数 | いいえ |
| JDBC 接続プールのサイズは、データスループットに比例します。デプロイメントのパフォーマンスが低い場合は、接続プールのサイズを増やしてください。 |
| JDBC ドライバーが使用されている場合に、Hologres ストリーミングシンクオペレーターが一度に処理できるデータの最大行数。 | 整数 | いいえ |
| 単位:行。 説明 上記のすべてのパラメーター(jdbcWriteBatchSize、jdbcWriteBatchByteSize、jdbcWriteFlushInterval)を指定した場合、システムは関連する条件のいずれかが満たされると、Hologres シンクテーブルにデータを書き込みます。 |
| JDBC ドライバーが使用されている場合に、Hologres ストリーミングシンクノードが一度に処理できるデータの最大バイト数。 | 長整数 | いいえ |
| 説明 次のオプションのいずれか 1 つのみを指定できます。jdbcWriteBatchSize、jdbcWriteBatchByteSize、jdbcWriteFlushInterval。すべてを指定した場合、いずれかの条件が満たされると、システムは Hologres シンクテーブルにデータを書き込みます。 |
| JDBC ドライバーが使用されている場合に、Hologres ストリーミングシンクノードが複数の行のデータを同時に Hologres に書き込むのを待つために必要な最大時間。 | 長い | いいえ |
| 単位:ミリ秒。 説明 次のオプションのいずれか 1 つのみを指定できます。jdbcWriteBatchSize、jdbcWriteBatchByteSize、jdbcWriteFlushInterval。すべてを指定した場合、いずれかの条件が満たされると、システムは Hologres シンクテーブルにデータを書き込みます。 |
| mutatetype='insertOrUpdate' が指定されている場合に書き込まれるデータの null 値を無視するかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| 接続プールの名前です。同じ TaskManager 内で、同じ接続プールが構成されているテーブルは、接続プールを共有できます。 | 文字列 | いいえ | デフォルト値なし | このオプションを 説明
|
| Hologres コネクタが、Hologres テーブルでデフォルト値が設定されていない非 NULL 列に NULL 値が書き込まれた場合に、デフォルト値を補完するかどうかを指定します。 | ブール値 | いいえ |
|
|
| シンクテーブルに書き込まれる STRING データから無効な文字 \u0000 を Hologres コネクタが削除することを許可するかどうかを指定します。 | ブール値 | いいえ |
|
重要
|
| INSERT 文で宣言されているフィールドのみを挿入するかどうかを指定します。 | ブール値 | いいえ |
|
説明 このオプションは、 |
| JDBC モードまたは jdbc_fixed モードでデータをバッチ書き込みするときに重複排除を実行するかどうかを指定します。 | ブール値 | いいえ |
|
説明
|
| 条件付き更新機能を有効にするかどうか、および確認するフィールドの名前を構成するかどうかを指定します。 | String | いいえ | デフォルト値なし | このオプションは、Hologres テーブルのフィールド名に設定する必要があります。 重要
|
| 条件付き更新操作の比較演算子。 | String | いいえ |
| このオプションを使用すると、新しいデータレコードのチェックフィールドと、テーブル内の古いデータレコードのチェックフィールドを比較できます。比較結果がこのオプションの値と一致する場合、条件付き更新操作を実行できます。 有効な値:GREATER、GREATER_OR_EQUAL、EQUAL、NOT_EQUAL、LESS、LESS_OR_EQUAL、IS_NULL、および IS_NOT_NULL。 説明 VVR 8.0.11 以降でのみ、このオプションがサポートされています。 |
| 条件付き更新操作を実行するときに、古いデータレコードが null の場合、null 値はこのオプションの有効な値と見なされます。 | String | いいえ | デフォルト値なし | PostgreSQL では、任意の値と NULL を比較した結果は FALSE になります。そのため、テーブル内の元のデータが NULL の場合、条件付き更新操作を実行するときに NULL-AS をパラメーターとして設定する必要があります。 NULL-AS パラメーターは、Flink SQL の COALESCE 関数と同じです。 説明 VVR 8.0.11 以後でのみ、このオプションがサポートされています。 |
| アグレッシブコミットモードを有効にするかどうかを指定します。 | ブール値 | いいえ |
| このオプションを 説明
|
ディメンションテーブル固有
オプション | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
| SDK モード。 | 文字列 | いいえ |
|
さまざまな VVR バージョンに推奨される値の詳細については、「注意事項」をご参照ください。 |
| RPC を使用して Hologres コネクタに接続するかどうかを指定します。 | ブール値 | いいえ |
| 有効な値:
説明 このオプションを |
| ジョブで作成される JDBC 接続プールのサイズ。 | 整数 | いいえ |
| ジョブのパフォーマンスが低い場合は、接続プールのサイズを増やすことをお勧めします。JDBC 接続プールのサイズは、データスループットに比例します。 |
| 接続プールの名前。同じ TaskManager では、同じ接続プールが構成されているテーブルは、接続プールを共有できます。 | 文字列 | いいえ | デフォルト値なし |
説明
|
| Hologres ディメンションテーブルのポイントクエリで同時に処理できるデータレコードの最大数。 | 整数 | いいえ |
| |
| Hologres ディメンションテーブルでポイントクエリを実行するためにスレッドで許可されるキューに入れられたリクエストの最大数。 | 整数 | いいえ |
| |
| Hologres ディメンションテーブルでポイントクエリを実行するためのタイムアウト期間。 | Long | いいえ |
| デフォルト値 |
| Hologres ディメンションテーブルで実行されたポイントクエリがタイムアウトした場合の再試行回数。 | 整数 | いいえ |
| このオプションは、 |
| 1 対多のテーブル結合を実行するときに、スキャン操作を呼び出すことによって同時に処理できるデータレコードの数。1 対多のテーブル結合では、完全なプライマリキーは使用されません。 | 整数 | いいえ |
| |
| スキャン操作の最大タイムアウト期間。 | 整数 | いいえ |
| 単位: 秒。 |
| キャッシュポリシー。 | 文字列 | いいえ |
| 有効な値:
|
| キャッシュできるデータ行の最大数。 | 整数 | いいえ |
|
|
| システムがキャッシュをリフレッシュする間隔。 | Long | いいえ | 備考欄を参照してください。 | 単位: ミリ秒。cacheTTLMs オプションのデフォルト値は、cache パラメーターの値によって異なります。
|
| 戻り結果が空の JOIN クエリをキャッシュするかどうかを指定します。 | ブール値 | いいえ |
|
|
| 非同期モードでデータ同期を有効にするかどうかを指定します。 | ブール値 | いいえ |
|
説明 非同期モードでデータを同期する場合、データはソートされません。 |
Realtime Compute for Apache Flink と Hologres のタイムゾーン
時間の型
サービス | 型 | 説明 |
Flink | タイムゾーンのない日付と時刻。 TIMESTAMP 型のデータは、年、月、日、時、分、秒、および秒の小数部を表すタイムスタンプです。 TIMESTAMP 型のデータは、 | |
タイムライン上の絶対的な時点を表すために使用されます。 LONG 型のデータは、エポック時刻からの経過ミリ秒数を示します。 INT 型のデータは、ミリ秒単位のナノ秒数を示します。 エポック時刻とは、Java における 1970 年 1 月 1 日の UTC 00:00:00 を指します。 TIMESTAMP_LTZ 型のデータは、現在のセッションで設定されているタイムゾーンに基づいて、計算と可視化のために解釈されます。 TIMESTAMP_LTZ 型は、エポック時刻に基づいて異なるタイムゾーンで同じ絶対的な時点を表すため、タイムゾーンをまたいだ計算に使用できます。 同じ TIMESTAMP_LTZ 値が、異なるタイムゾーンで異なるローカル TIMESTAMP 値を反映する場合があります。 たとえば、TIMESTAMP_LTZ 値が | ||
Hologres | TIMESTAMP | タイムゾーンのない日付と時刻。これは、Realtime Compute for Apache Flink の |
TIMESTAMP WITH TIME ZONE (TIMESTAMPTZ) | タイムゾーン付きの日付と時刻。これは、Realtime Compute for Apache Flink の たとえば、北京(UTC + 08:00)のタイムゾーンのタイムスタンプが |
タイムゾーンのマッピング
VVR 8.0.6 以後で
type-mapping.timestamp-converting.legacyオプションをfalseに設定すると、Realtime Compute for Apache Flink と Hologres 間ですべての 時間の型 の変換を実行できます。Flink
Hologres
説明
TIMESTAMP
TIMESTAMP
時間の型の変換は、タイムゾーンの変換なしで実行されます。 Hologres からデータを読み取ったり、Hologres にデータを書き込んだりする場合は、このタイプの時間の型の変換を使用することをお勧めします。
TIMESTAMP LTZ
TIMESTAMPTZ
TIMESTAMP
TIMESTAMPTZ
時間の型の変換は、タイムゾーンの変換とともに行われます。 変換中の精度を維持するには、
table.local-time-zoneを使用して Flink タイムゾーンを設定する必要があります。 詳細については、「実行中のデプロイメントのカスタムパラメーターを設定するにはどうすればよいですか。」をご参照ください。たとえば、
'table.local-time-zone': 'Asia/Shanghai'を指定して、Realtime Compute for Apache Flink のタイムゾーンを上海のタイムゾーン(UTC + 08:00)に設定します。 Realtime Compute for Apache Flink から Hologres に TIMESTAMP 型のデータ 2022-01-01 01:01:01.123456 を書き込むと、データは TIMESTAMPTZ 型の 2022-01-01 01:01:01:01.123456+8 に変換されます。TIMESTAMP LTZ
TIMESTAMP
VVR 8.0.6 以降で
type-mapping.timestamp-converting.legacy=trueを指定した場合、または VVR 8.0.5 以前の場合、TIMESTAMP 型の変換を除き、時間の型の変換中にデータの偏差が発生する可能性があります。Flink
Hologres
注記
TIMESTAMP
TIMESTAMP
時間の型の変換は、タイムゾーンの変換なしで実行されます。 Hologres からデータを読み取ったり、Hologres にデータを書き込んだりする場合は、このタイプの時間の型の変換を使用することをお勧めします。
TIMESTAMP LTZ
TIMESTAMPTZ
Realtime Compute for Apache Flink が Hologres からデータを読み取ったり、Hologres にデータを書き込んだりする際に、TIMESTAMP LTZ 型と TIMESTAMPTZ 型のデータは、タイムゾーンのない時間として表現されます。 これにより、データの偏差が発生する可能性があります。
たとえば、Realtime Compute for Apache Flink の TIMESTAMP_LTZ 型のデータが 2024-03-19T04:00:00Z の場合、上海(UTC + 08:00)のタイムゾーンのない時間は 2024-03-19T12:00:00 です。 ただし、Hologres にデータが書き込まれると、2024-03-19T04:00:00 がタイムゾーンのない時間として使用され、Hologres の TIMESTAMPTZ 型の 2024-03-19T04:00:00+08 に変換されます。 これにより、8 時間のデータの偏差が発生します。
TIMESTAMP
TIMESTAMPTZ
タイムゾーンの変換は、Realtime Compute for Apache Flink のタイムゾーンではなく、ランタイム環境の JVM のタイムゾーンに基づいて実行されます。 これは、Realtime Compute for Apache Flink のタイムゾーンの変換とは異なります。 Realtime Compute for Apache Flink のタイムゾーンが JVM のタイムゾーンと異なる場合、データの偏差が発生する可能性があります。 Realtime Compute for Apache Flink のタイムゾーンに基づいて Hologres からデータを読み取ったり、Hologres にデータを書き込んだりすることをお勧めします。
TIMESTAMP LTZ
TIMESTAMP