このトピックでは、Ververica Runtime (VVR) 11 以降における Hologres コネクタの WITH パラメーターについて説明します。
バージョンパラメーターの削除
システムアーキテクチャーを最適化し、メンテナンス効率を向上させるため、Ververica Runtime (VVR) バージョン 8 以前の一部の従来のパラメーターが調整または削除されました。以下のリストは、削除された従来のパラメーターとそれに対応する代替パラメーターを示しています。
WITH パラメーター
一般
パラメーター | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
connector | テーブルタイプ。 | String | はい | なし | このパラメーターを |
dbname | データベース名。 | String | はい | なし | `dbname` パラメーターにサフィックスを追加することで、特定の計算グループに接続できます。たとえば、ディメンションテーブルを `read_warehouse` という名前の特定の計算グループに接続するには、接続を |
tablename | テーブル名。 | String | はい | なし | スキーマが Public でない場合は、テーブル名を |
username |
| String | はい | なし |
重要 AccessKey 情報の漏洩を防ぐため、変数を使用して AccessKey の値を指定することを推奨します。詳細については、「プロジェクト変数」をご参照ください。 |
password |
| String | はい | なし | |
endpoint | Hologres サービスのエンドポイント。 | String | はい | なし | 詳細については、「エンドポイント」をご参照ください。 |
connection.pool.size | タスク内の単一の Flink テーブル用に作成される JDBC 接続プールのサイズ。 | Integer | いいえ | 5 | ジョブのパフォーマンスが低い場合は、プールサイズを増やしてください。接続プールサイズはデータスループットに比例します。このパラメーターは、ディメンションテーブルと結果テーブルに対してのみ有効です。 |
connection.pool.name | 接続プールの名前。同じ TaskManager 内で同じ接続プール名を持つテーブルは、接続プールを共有できます。 | String | いいえ |
| デフォルト値は このパラメーターは必要に応じて構成できます。たとえば、ジョブに 2 つのディメンションテーブル A と B、および 3 つの結果テーブル C、D、E がある場合、テーブル A と B には pool1 を、テーブル C と D には pool2 を使用し、トラフィックが多いテーブル E には別の pool3 を使用できます。 説明
|
connection.fixed.enabled | 軽量接続モードを使用するかどうかを指定します。 | Boolean | いいえ | なし | Hologres には接続数の上限があります。Hologres 2.1 以降、リアルタイムデータ書き込みは、最大接続数に制限されない軽量接続の使用をサポートしています。 説明
|
connection.max-idle-ms | JDBC 接続のアイドルタイムアウト。 | Long | いいえ | 60000 | アイドル時間がこの値を超えると、接続は解放されます。次に使用されるときに、新しい接続が自動的に作成されます。単位はミリ秒です。 |
connection.ssl.mode | 転送中のデータに対して SSL 暗号化を有効にするかどうか、およびどのモードを使用するかを指定します。 | String | いいえ | disable |
説明
|
connection.ssl.root-cert.location | 暗号化モードで証明書が必要な場合の証明書へのパス。 | String | いいえ | なし | connection.ssl.mode を verify-ca または verify-full に設定する場合は、CA 証明書へのパスも指定する必要があります。リアルタイム計算コンソールのファイル管理機能を使用して証明書をアップロードできます。証明書は /flink/usrlib ディレクトリに保存されます。たとえば、CA 証明書ファイル名が certificate.crt の場合、このパラメーターを 説明 CA 証明書の取得方法については、「CA 証明書のダウンロード」をご参照ください。 |
retry-count | 接続に失敗した場合の書き込みおよびクエリのリトライ回数。 | Integer | いいえ | 10 | なし。 |
retry-sleep-step-ms | 各リトライの増分待機時間。 | Long | いいえ | 5000 | 単位はミリ秒です。たとえば、値が 5000 (5 秒) の場合、最初のリトライは 5 秒待機し、2 回目は 10 秒待機します。 |
meta-cache-ttl-ms | キャッシュされた TableSchema 情報の TTL。 | Long | いいえ | 600000 | 単位はミリ秒です。 |
serverless-computing.enabled | サーバーレスリソースを使用するかどうかを指定します。 | Boolean | いいえ | false | true に設定すると、Hologres インスタンスのリソースの代わりに Hologres サーバーレスリソースが読み取りと書き込みに使用されます。このパラメーターは、バッチ読み取りとバッチインポートでのみサポートされます。バイナリログの消費、ディメンションテーブルのポイントクエリ、またはリアルタイム書き込みには効果がありません。詳細については、「サーバーレスコンピューティングの概要」をご参照ください。 説明
説明 大規模な完全データのインポートまたはエクスポートを実行し、ご利用の Hologres インスタンス上の他のクエリに影響を与えたくない場合は、このパラメーターを有効にします。詳細については、「サーバーレスコンピューティングの概要」をご参照ください。 |
ソーステーブル固有のパラメーター
パラメーター | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
source.binlog | バイナリログデータを消費するかどうかを指定します。 | Boolean | いいえ | true |
|
source.binlog.read-mode | 読み取りモード。 | ENUM | いいえ | AUTO |
説明 AUTO モードの自動選択ロジックは次のとおりです:
|
source.binlog.change-log-mode | CDC ソーステーブルでサポートされる変更ログタイプ。 | ENUM | いいえ | UPSERT |
説明 ダウンストリームパイプラインにリトラクションオペレーターが含まれる場合 (たとえば、ROW_NUMBER OVER WINDOW を使用して重複を削除する場合)、upsertSource を true に設定する必要があります。ソーステーブルは Hologres から upsert 方式でデータを読み取ります。 |
source.binlog.startup-mode | バイナリログデータの消費モード。 | ENUM | いいえ | INITIAL |
説明 startTime パラメーターを設定するか、起動インターフェイスで開始時刻を選択すると、binlogStartupMode は強制的に timestamp モードになります。他の消費モードは有効になりません。startTime パラメーターが優先されます。 |
source.binlog.batch-size | 各バッチでバイナリログから読み取る行数。 | Integer | いいえ | 512 | なし。 |
source.binlog.request-timeout-ms | バイナリログデータの読み取りのタイムアウト期間。 | Long | いいえ | 300000 | 単位はミリ秒です。 説明 ダウンストリームオペレーターがソーステーブルデータを処理するのが遅すぎる場合、バックプレッシャーによってタイムアウトが発生する可能性があります。 |
source.binlog.project-columns.enabled | バイナリログデータを読み取る際に、ユーザーテーブルで指定されたフィールドのみを読み取るかどうかを指定します。 | Boolean | いいえ | なし | 指定されたフィールドは、 説明 このパラメーターは VVR 11.3 以降および Hologres V3.2 以降でのみサポートされます。通常、このパラメーターを構成する必要はありません。バージョン要件が満たされている場合、コネクタはデフォルトでこれを有効にします。 |
source.binlog.compression.enabled | バイナリログデータを読み取る際に、転送中のデータ圧縮を有効にするかどうかを指定します。 | Boolean | いいえ | なし | バイナリログを消費する際、サーバーは LZ4 アルゴリズムで圧縮されたバイトストリームを返します。これにより、読み取りパフォーマンスが向上し、帯域幅が節約されます。 説明 このパラメーターは VVR 11.3 以降および Hologres V3.2 以降でのみサポートされます。通常、このパラメーターを構成する必要はありません。バージョン要件が満たされている場合、コネクタはデフォルトでこれを有効にします。 |
source.binlog.partition-binlog-mode | パーティションテーブルのバイナリログの消費モード。 | Enum | いいえ | DISABLE |
|
source.binlog.partition-binlog-lateness-timeout-minutes | DYNAMIC モードでパーティションテーブルを消費する際の最大遅延タイムアウト。 | Boolean | いいえ | 60 |
たとえば、テーブルが日単位でパーティション分割されており、パーティションが 20240920 で、最大データ遅延が 1 時間の場合、このパーティションの消費は 2024-09-21 00:00:00 ではなく、2024-09-21 01:00:00 に終了します。
テーブルが日単位でパーティション分割されている場合、最大値は 24 × 60 = 1440 (分) です。DYNAMIC モードでは、ほとんどの場合、1 つのテーブルのみが消費されます。遅延期間中、2 つのパーティションが同時に消費される場合があります。 |
source.binlog.partition-values-to-read | STATIC モードで、消費するパーティションを指定します。パーティション値はカンマ (,) で区切ります。 | String | いいえ | なし |
|
startTime | 開始オフセット時間。 | String | いいえ | なし | フォーマットは yyyy-MM-dd hh:mm:ss です。このパラメーターが設定されておらず、ジョブが状態から回復しない場合、Hologres データの消費は最も古いバイナリログから開始されます。 |
source.scan.fetch-size | バッチ読み取りのバッチサイズ。 | Integer | いいえ | 512 | なし。 |
source.scan.timeout-seconds | バッチ読み取りのタイムアウト期間。 | Integer | いいえ | 60 | 単位は秒です。 |
source.scan.filter-push-down.enabled | バッチ読み取り中にフィルターをプッシュダウンするかどうかを指定します。 | Boolean | いいえ | false |
説明
|
source.binlog.filter-push-down.enabled | バイナリログ消費中にフィルターをプッシュダウンするかどうかを指定します。 | Boolean | いいえ | false |
説明
|
scan.prefer.physical-column.over.metadata-column | 物理列がメタデータ列と同じ名前を持つ場合に、物理列からのデータ読み取りを優先するかどうかを指定します。 | Boolean | いいえ | false | このパラメーターは VVR 11.5 以降でのみサポートされます。以前のバージョンでは、常にメタデータ列からの読み取りが優先されます。 |
結果テーブル固有のパラメーター
パラメーター | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
sink.write-mode | 書き込みモード。 | ENUM | いいえ | INSERT |
説明
|
sink.on-conflict-action | プライマリキーの競合を処理するためのポリシー。 | ENUM | いいえ | INSERT_OR_UPDATE |
|
sink.create-missing-partition | パーティションテーブルへの書き込み時にパーティションが存在しない場合、パーティション値に基づいてパーティションを自動的に作成するかどうかを指定します。 | Boolean | いいえ | false |
|
sink.delete-strategy | リトラクションメッセージの処理ポリシー。 | String | いいえ | CHANGELOG_STANDARD |
説明 NON_PK_FIELD_TO_NULL オプションを有効にすると、プライマリキーのみを含み、他のすべての列が null であるレコードが生成される可能性があります。 |
sink.ignore-null-when-update.enabled | sink.on-conflict-action='INSERT_OR_UPDATE' の場合、更新のために書き込まれるデータ内の null 値を無視するかどうかを指定します。 | Boolean | いいえ | false |
説明 このパラメーターは、 |
sink.ignore-null-when-update-by-expr.enabled | sink.on-conflict-action='INSERT_OR_UPDATE' の場合、式を使用して更新のために書き込まれるデータ内の null 値を無視するかどうかを指定します。 | Boolean | いいえ | false | sink.ignore-null-when-update.enabled よりも優れたパフォーマンスを提供します。
説明
|
sink.default-for-not-null-column.enabled | Hologres テーブルのデフォルト値のない NOT NULL 列に null 値が書き込まれた場合に、コネクタがデフォルト値を入力することを許可するかどうかを指定します。 | Boolean | いいえ | true |
説明 このパラメーターは、 |
sink.remove-u0000-in-text.enabled | 書き込み中に文字列型に無効な文字 \u0000 が含まれている場合に、コネクタがそれを削除することを許可するかどうかを指定します。 | Boolean | いいえ | true |
|
sink.partial-insert.enabled | INSERT 文で定義されたフィールドのみを挿入するかどうかを指定します。 | Boolean | いいえ | false |
説明
|
sink.deduplication.enabled | バッチ書き込み中に重複を削除するかどうかを指定します。 | Boolean | いいえ | true |
説明
|
sink.aggressive-flush.enabled | アグレッシブコミットモードを有効にするかどうかを指定します。 | Boolean | いいえ | false | true に設定すると、バッチが期待されるサイズに達していなくても、アイドル時に接続が強制的にコミットされます。これにより、トラフィックが少ない場合にデータ書き込みのレイテンシーを効果的に削減できます。 説明 このパラメーターは、 |
sink.insert.check-and-put.column | 条件付き更新を有効にし、チェックするフィールド名を指定します。 | String | いいえ | なし | パラメーター値は、Hologres テーブルに存在するフィールド名に設定する必要があります。 重要
|
sink.insert.check-and-put.operator | 条件付き更新操作の比較演算子。 | String | いいえ | GREATER | 新しいレコードのチェックフィールドをテーブルの古い値と比較します。比較演算子の条件が満たされた場合に更新が実行されます。サポートされている値は、GREATER、GREATER_OR_EQUAL、EQUAL、NOT_EQUAL、LESS、LESS_OR_EQUAL、IS_NULL、および IS_NOT_NULL です。 |
sink.insert.check-and-put.null-as | 条件付き更新中に、古いデータが null の場合、null 値はこのパラメーターで構成された有効な値として扱われます。 | String | いいえ | なし | PostgreSQL では、NULL との比較結果はすべて FALSE になります。したがって、テーブル内の元のデータが NULL の場合、更新操作のために NULL-AS パラメーターを設定する必要があります。これは SQL の COALESCE 関数に相当します。 |
sink.insert.batch-size | INSERT モードで、Hologres シンクへの書き込み前にバッファーに格納するレコードの最大数。 | Integer | いいえ | 512 |
|
sink.insert.batch-byte-size | INSERT モードで、Hologres 結果テーブルに書き込む前にバッファリングするレコードの最大サイズ (バイト単位)。 | Long | いいえ | 2 × 1024 × 1024 バイト、つまり 2 MB | |
sink.insert.flush-interval-ms | `INSERT` モードでは、Hologres シンクから Hologres にバッファーされたデータが書き込まれるまでの最大待機時間です。 | Long | いいえ | 10000 | |
sink.copy.format | COPY モードで使用される転送フォーマット。 | String | いいえ |
|
説明 このパラメーターは、 |
sink.insert.conflict-update-set | プライマリキーの競合時の更新に関する Hologres の式。 | String | いいえ | なし | これは `insert into tbl values(xxx) on conflict(pk) do update set <conflict-update-set>` 文に相当します。Hologres の式または関数を指定できます。 たとえば、このパラメーターが col1=old.col1+excluded.col1,col2=excluded.col2 に設定されている場合、プライマリキーの競合時に col1 の値が古い値と新しい値の合計に更新され、col2 が新しい値に更新されることを意味します。
説明 このパラメーターは、 |
sink.insert.conflict-where | プライマリキーの競合時に更新をトリガーする Hologres のフィルター条件。 | String | いいえ | なし | これは `insert into tbl values(xxx) on conflict(pk) do update set <conflict-update-set> where <conflict-where>` に相当します。Hologres の式または関数を指定できます。 たとえば、このパラメーターが excluded.col1>old.col1 に設定されている場合、プライマリキーの競合時に、col1 の新しい値が古い値より大きい場合にのみ更新がトリガーされることを意味します。 説明
|
ディメンションテーブル固有のパラメーター
パラメーター | 説明 | データ型 | 必須 | デフォルト値 | 備考 |
lookup.read.batch-size | Hologres ディメンションテーブルに対するポイントクエリ中にバッチ処理のためにバッファリングするレコードの最大数。 | Integer | いいえ | 256 | なし。 |
lookup.read.timeout-ms | ディメンションテーブルのポイントクエリのタイムアウト期間。 | Long | いいえ | デフォルト値は 0 で、タイムアウトがないことを意味します。 | なし。 |
lookup.read.column-table.enabled | 列指向テーブルをディメンションテーブルとして使用するかどうかを指定します。 | Boolean | いいえ | false | 列指向テーブルをディメンションテーブルとして使用すると、パフォーマンスが低下します。代わりに行指向テーブルまたはハイブリッド行列表を使用してください。このパラメーターが有効で、列指向テーブルが使用されている場合、警告がログに記録されます。 |
lookup.insert-if-not-exists | 存在しないデータを挿入するかどうかを指定します。 | Boolean | いいえ | false | ポイントクエリで現在のデータがディメンションテーブルに存在しないことが判明した場合、現在のデータが挿入されます。 |
cache | キャッシュポリシー。 | String | いいえ | なし | Hologres は None および LRU キャッシュポリシーのみをサポートします。 |
cacheSize | キャッシュサイズ。 | Integer | いいえ | 10000 | LRU キャッシュポリシーを選択した後、キャッシュサイズを設定できます。単位は行です。 |
cacheTTLMs | キャッシュの更新間隔。 | Long | いいえ | 備考をご参照ください。 | 単位はミリ秒です。cacheTTLMs のデフォルト値はキャッシュ構成によって異なります:
|
cacheEmpty | 結合結果が空のデータをキャッシュするかどうかを指定します。 | Boolean | いいえ | true |
重要 ビジネスシナリオに基づいて、このスイッチを有効にするかどうかを決定します。ジョブの実行中にディメンションテーブルに新しく挿入されたレコードと結合したい場合は、このオプションを無効にするか、 |
async | データを非同期で返すかどうかを指定します。 | Boolean | いいえ | false |
説明 非同期で返されたデータは順序付けされていません。 |
lookup.filter-push-down.enabled | ディメンションテーブルのフィルター条件を Hologres サーバーにプッシュダウンするかどうかを指定します。 | Boolean | いいえ | false | 現在、プッシュダウン操作は、等価演算子と比較演算子 (<、<=、>、>= など) を使用する列と定数の間の比較操作に対してのみ実行されます。 説明 このパラメーターは VVR 11.4 以降でのみ構成できます。 |