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

Realtime Compute for Apache Flink:パラメーター設定 (VVR 11 以降)

最終更新日:Aug 14, 2026

このトピックでは、Ververica Runtime (VVR) バージョン 11 以降の WITH パラメーターを一覧表示します。

パラメーターの非推奨

システムアーキテクチャーとメンテナンスを改善するため、VVR 8 以前のバージョンの一部のレガシーパラメーターは非推奨になりました。以下の表に、これらのパラメーターとその代替パラメーターを示します。

削除されたパラメーター

パラメーター

説明

備考

jdbcRetrySleepInitMs

各リトライの固定待機時間。

増分待機時間である retry-sleep-step-ms を使用してください。

jdbcMetaAutoRefreshFactor

キャッシュの残りの有効期間が指定されたしきい値未満になったときに、キャッシュを自動的にリフレッシュします。

キャッシュ時間パラメーター meta-cache-ttl-ms を設定するだけで済みます。このパラメーターを設定する必要はありません。

type-mapping.timestamp-converting.legacy

Flink と Hologres の間で時間型を変換するかどうかを指定します。

このパラメーターは TIMESTAMP_LTZ 型との下位互換性のために導入されたものであり、現在は不要です。

property-version

コネクタパラメーターのバージョン。

共通パラメーターのデフォルト値が最適化されたため、削除されました。

field_delimiter

データのエクスポート時に行間で使用されるデリミタ。

データ読み取りメソッドが最適化されたため、削除されました。

jdbcBinlogSlotName

JDBC モードでの Binlog ソーステーブルのスロット名。

データ読み取りメソッドが最適化されたため、削除されました。

binlogMaxRetryTimes

エラー発生後の Binlog データの読み取りリトライ回数。

retry-count パラメーターを使用して設定できます。

cdcMode

CDC モードを使用して Binlog データを読み取るかどうかを指定します。

デフォルトでは、データは CDC モードで読み取られるため、このパラメーターは削除されました。非 CDC モードの場合は、source.binlog.change-log-mode パラメーターを使用して設定できます。

upsertSource

ソーステーブルが upsert Changelog を使用するかどうかを指定します。

source.binlog.change-log-mode パラメーターを設定します。

bulkload

書き込みに bulkload を使用するかどうかを指定します。

sink.write-mode パラメーターを使用します。

useRpcMode

RPC 経由で Hologres コネクタを使用するかどうかを指定します。

JDBC 接続を使用し、sink.deduplication.enabled パラメーターを設定して重複排除を有効または無効にすることを推奨します。

partitionrouter

パーティションテーブルに書き込むかどうかを指定します。

パーティションテーブルへの書き込みがデフォルトでサポートされるようになったため、削除されました。

ignoredelete

リトラクションメッセージを無視するかどうかを指定します。

sink.delete-strategy パラメーターを設定します。このパラメーターは、リトラクションメッセージの処理戦略を指定します。

sdkMode

データの読み取りまたは書き込みのための SDK モードを指定します。

このパラメーターは最適化されました。テーブルタイプと source.binlog.read-mode および sink.write-mode パラメーターに基づいて設定してください。

jdbcReadBatchQueueSize

ディメンションテーブルのルックアップリクエスト用のバッファーキューサイズ。

ポイントクエリのパフォーマンスが低い場合は、connection.pool.size パラメーターを設定することを推奨します。

jdbcReadRetryCount

ディメンションテーブルのルックアップがタイムアウトした場合のリトライ回数。

一般的なリトライメカニズムのための retry-count パラメーターに統合されました。

jdbcScanTransactionSessionTimeoutSeconds

スキャン操作のトランザクションタイムアウト。

一般的なスキャンタイムアウト設定は source.scan.timeout-seconds パラメーターに統合されました。

名前が変更されたパラメーター

古いパラメーター

新しいパラメーター

説明

jdbcRetryCount

retry-count

接続障害後の書き込みおよびクエリ操作のリトライ回数。

jdbcRetrySleepStepMs

retry-sleep-step-ms

各リトライの増分待機時間。

jdbcConnectionMaxIdleMs

connection.max-idle-ms

JDBC 接続の最大アイドル時間。

jdbcMetaCacheTTL

meta-cache-ttl-ms

ローカルにキャッシュされたテーブルスキーマ情報の Time to Live (TTL)。

binlog

source.binlog

Binlog データをコンシュームするかどうかを指定します。

sdkMode

source.binlog.read-mode

読み取りモードを指定します。

binlogRetryIntervalMs

source.binlog.request-timeout-ms

Binlog の読み取りが失敗した場合のリトライ間の待機間隔。

binlogBatchReadSize

source.binlog.batch-size

Binlog からバッチで読み取る行数。

binlogStartupMode

source.binlog.startup-mode

Binlog データのコンシュームモード。

jdbcScanFetchSize

source.scan.fetch-size

スキャン中にデータをフェッチする際のバッチサイズ。

jdbcScanTimeoutSeconds

source.scan.timeout-seconds

スキャン操作のタイムアウト。

enable_filter_push_down

source.scan.filter-push-down.enabled

完全読み取りフェーズ中にフィルタープッシュダウンを有効にするかどうかを指定します。

partition-binlog.mode

source.binlog.partition-binlog-mode

パーティションテーブルからの Binlog のコンシュームモード。

partition-binlog-lateness-timeout-minutes

source.binlog.partition-binlog-lateness-timeout-minutes

DYNAMIC モードでパーティションテーブルからコンシュームする際の最大遅延タイムアウト。

partition-values-to-read

source.binlog.partition-values-to-read

STATIC モードでパーティションテーブルからコンシュームする際に読み取るパーティション。複数のパーティション値はカンマ (,) で区切ります。

sdkMode

sink.write-mode

書き込みモードを指定します。

mutatetype

sink.on-conflict-action

主キー競合の処理戦略。

createparttable

sink.create-missing-partition

パーティションテーブルに書き込む際に、パーティション値に基づいて存在しないパーティションを自動的に作成するかどうかを指定します。

jdbcWriteBatchSize

sink.insert.batch-size

Hologres sink でのバッチ処理の最大レコード数。

jdbcWriteBatchByteSize

sink.insert.batch-byte-size

Hologres sink でのバッチ処理の最大バイトサイズ。

jdbcWriteFlushInterval

sink.insert.flush-interval-ms

データのバッチが Hologres にフラッシュされるまでの最大待機時間。

ignoreNullWhenUpdate

sink.ignore-null-when-update.enabled

sink.on-conflict-action が更新アクションに設定されている場合に、書き込まれるデータの null 値を無視するかどうかを指定します。

jdbcEnableDefaultForNotNullColumn

sink.default-for-not-null-column.enabled

null が、デフォルト値が定義されていない NOT NULL 列に書き込まれる場合に、コネクタがデフォルト値を提供するかどうかを指定します。

remove-u0000-in-text.enabled

sink.remove-u0000-in-text.enabled

書き込み前に、コネクタが文字列データから不正な \u0000 文字を自動的に削除するかどうかを指定します。

partial-insert.enabled

sink.partial-insert.enabled

INSERT 文で定義されたフィールドのみを挿入するかどうかを指定します。

deduplication.enabled

sink.deduplication.enabled

書き込みバッチ処理中に重複排除を実行するかどうかを指定します。

check-and-put.column

sink.insert.check-and-put.column

条件付き更新を有効にし、チェックする列を指定します。

check-and-put.operator

sink.insert.check-and-put.operator

条件付き更新操作の比較演算子。

check-and-put.null-as

sink.insert.check-and-put.null-as

条件付き更新の場合、既存のデータが null であれば、null 値はこのパラメーターで指定された値として扱われます。

aggressive.enabled

sink.aggressive-flush.enabled

アグレッシブフラッシュモードを有効にするかどうかを指定します。

connectionSize

connection.pool.size

単一の Flink ディメンションテーブルタスクの JDBC 接続プールのサイズ。

connectionPoolName

connection.pool.name

接続プールの名前。同じ TaskManager 内で、同じプール名を指定したテーブルは接続プールを共有できます。

jdbcReadBatchSize

lookup.read.batch-size

ディメンションテーブルのルックアップでバッチ処理する最大レコード数。

jdbcReadTimeoutMs

lookup.read.timeout-ms

ディメンションテーブルのルックアップのタイムアウト。

WITH パラメーター

一般

パラメーター

説明

タイプ

必須

デフォルト

備考

connector

テーブルのタイプ。

String

はい

—

値は hologres である必要があります。

dbname

データベースの名前。

String

はい

—

データベース名にサフィックスを追加することで、特定の仮想ウェアハウスに接続できます。例えば、ディメンションテーブルを read_warehouse 仮想ウェアハウスに接続するには、'dbname' = 'db_test@read_warehouse' と指定します。

tablename

テーブルの名前。

String

はい

—

スキーマが public でない場合は、schema.tableName 形式を使用します。

username

  • カスタムアカウントのユーザー名。形式は BASIC$<user_name> です。

  • Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

String

はい

—

重要

AccessKey 情報の漏洩を防ぐため、名前空間変数を使用して AccessKey の値を保存することを推奨します。詳細については、「名前空間変数」をご参照ください。

password

  • カスタムアカウントのパスワード。

  • Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。

String

はい

—

endpoint

Hologres サービスのエンドポイント。

String

はい

—

詳細については、「エンドポイント」をご参照ください。

connection.pool.size

タスク内の単一の Flink テーブル用に作成される JDBC 接続プールのサイズ。

Integer

いいえ

5

ジョブのパフォーマンスが不十分な場合は、接続プールのサイズを増やすことを検討してください。プールサイズはデータスループットに比例します。このパラメーターは、ディメンションテーブルと sink テーブルにのみ影響します。

connection.pool.name

同じ TaskManager 内のテーブルは、同じ名前を使用することで接続プールを共有できます。

String

いいえ

'default'

デフォルト値は 'default' です。複数のテーブルが同じ接続プールを使用するように設定されている場合、それらの間で connection.pool.size パラメーターに指定された最大値が使用されます。

例えば、ジョブに 5 つの Hologres テーブル (ディメンションテーブル A と B、sink テーブル C、D、E) が含まれている場合、テーブル A と B には pool1 を、テーブル C と D には pool2 を、高トラフィックを処理するテーブル E には pool3 を使用するように設定できます。

説明
  • テーブルが接続プールを共有できるのは、エンドポイントやデータベースなどの同じ接続情報を使用している場合に限られます。

  • ジョブに多くのテーブルが含まれている場合、利用可能な接続数が不足し、パフォーマンスが低下する可能性があります。このような場合は、異なるテーブルに異なるプール名を割り当てることを推奨します。

connection.fixed.enabled

軽量接続モードを使用するかどうかを指定します。

Boolean

いいえ

—

Hologres には接続制限があります。Hologres V2.1 以降、リアルタイム書き込みは、この制限の対象外となる軽量接続をサポートしています。

説明
  • このパラメーターのデフォルト値は、ご利用の Hologres インスタンスのバージョンによって異なります。ディメンションテーブルと sink テーブルの場合、コネクタは Hologres バージョン 3.0.28 以降では自動的に軽量接続モードを選択します。

  • ディメンションテーブルの場合、軽量接続モードは JSONB および RoaringBitmap データ型のクエリをサポートしていません。

connection.max-idle-ms

JDBC 接続のアイドルタイムアウト (ミリ秒)。

Long

いいえ

60000

接続がこの時間より長くアイドル状態になると、閉じられます。必要なときに新しい接続が自動的に作成されます。

connection.ssl.mode

Secure Sockets Layer (SSL) 転送中暗号化を有効にするかどうか、およびどのモードを使用するかを指定します。

String

いいえ

disable

  • disable (デフォルト):転送中の暗号化を無効にします。

  • require:SSL を有効にし、データリンクのみを暗号化します。

  • verify-ca:SSL を有効にし、データリンクを暗号化し、CA 証明書を使用して Hologres サーバーの信頼性を検証します。

  • verify-full:SSL を有効にし、データリンクを暗号化し、CA 証明書を使用して Hologres サーバーの信頼性を検証し、証明書内のコモンネーム (CN) または DNS 名が設定された Hologres エンドポイントと一致することを確認します。

説明
  • Hologres V2.1 以降は、verify-ca および verify-full モードをサポートしています。詳細については、「転送中の暗号化」をご参照ください。

  • このパラメーターを verify-ca または verify-full に設定する場合は、connection.ssl.root-cert.location パラメーターも設定する必要があります。

connection.ssl.root-cert.location

CA 証明書へのパス。証明書ベースの暗号化モードで必須です。

String

いいえ

—

connection.ssl.mode が verify-ca または verify-full に設定されている場合は、CA 証明書へのパスを指定する必要があります。リアルタイム計算コンソールのアーティファクトの管理機能を使用して、証明書ファイルをアップロードできます。アップロード後、ファイルは /flink/usrlib ディレクトリに保存されます。例えば、CA 証明書ファイル名が certificate.crt の場合、このパラメーターを '/flink/usrlib/certificate.crt' に設定します。

説明

CA 証明書の取得方法については、「CA 証明書のダウンロード」をご参照ください。

retry-count

接続障害時の書き込みまたはクエリ操作のリトライ回数。

Integer

いいえ

10

—

retry-sleep-step-ms

各リトライの増分待機時間 (ミリ秒)。

Long

いいえ

5000

例えば、デフォルト値の 5,000 (5 秒) の場合、最初のリトライは 5 秒、2 回目は 10 秒、というように待機します。

meta-cache-ttl-ms

ローカルにキャッシュされた TableSchema 情報の Time-to-Live (TTL) (ミリ秒)。

Long

いいえ

600000

単位:ミリ秒。

serverless-computing.enabled

サーバーレスリソースを使用するかどうかを指定します。

Boolean

いいえ

false

このパラメーターが true に設定されている場合、コネクタはご利用の Hologres インスタンスのリソースの代わりに Hologres サーバーレスリソースを使用して読み取りおよび書き込み操作を実行します。このパラメーターは、バッチ読み取りとバッチインポートにのみサポートされています。バイナリログのコンシューム、ディメンションテーブルのポイントクエリ、またはリアルタイム書き込みには無効です。詳細については、「概要」をご参照ください。

説明
  • バッチ読み取りは、source.binlog が false に設定されている場合、または source.binlog.startup-mode が INITIAL に設定されている場合の完全データ読み取りフェーズ中に適用されます。

  • バッチインポート操作は、sink.write-mode が COPY_BULK_LOAD または COPY_BULK_LOAD_ON_CONFLICT に設定されている場合に適用されます。

説明

大規模なデータのインポートまたはエクスポートを行う場合は、ご利用の Hologres インスタンス上の他のクエリに影響を与えないように、このパラメーターを有効にすることを推奨します。詳細については、「概要」をご参照ください。

ソーステーブルのパラメーター

パラメーター

説明

タイプ

必須

デフォルト

備考

source.binlog

Binlog データをコンシュームするかどうかを指定します。

Boolean

いいえ

true

  • true (デフォルト):Binlog データをコンシュームします。

  • false:Binlog データをコンシュームしません。ジョブはバッチ読み取りを実行してから停止します。

source.binlog.read-mode

読み取りモードを指定します。

ENUM

いいえ

AUTO

  • AUTO (デフォルト):インスタンスのバージョンに基づいて最適なモードを自動的に選択します。

  • HOLOHUB:HoloHub モードを使用して Binlog データをコンシュームします。

  • JDBC:JDBC モードを使用して Binlog データをコンシュームします。

説明

AUTO モードの選択ロジックは次のとおりです:

  • Hologres インスタンス V2.1.27 以降の場合、コネクタは JDBC モードを選択し、軽量接続がデフォルトで有効になります (connection.fixed.enabled パラメーターのデフォルトは true です)。

  • Hologres インスタンス V2.1.0 から V2.1.26 の場合、コネクタは JDBC モードを選択します。

  • Hologres インスタンス V2.0 以前の場合、コネクタは HOLOHUB モードを選択します。

source.binlog.change-log-mode

CDC ソーステーブルでサポートされる ChangeLog タイプを指定します。

ENUM

いいえ

UPSERT

  • ALL:INSERT、DELETE、UPDATE_BEFORE、UPDATE_AFTER を含むすべての ChangeLog タイプをサポートします。

  • UPSERT (デフォルト):INSERT、DELETE、UPDATE_AFTER を含む upsert ChangeLog のみをサポートします。

  • ALL_AS_APPEND_ONLY:すべての ChangeLog タイプを INSERT として扱います。

説明

ダウンストリームパイプラインにリトラクション演算子 (例えば、重複排除のために ROW_NUMBER OVER WINDOW を使用) が含まれている場合は、upsertSource を true に設定する必要があります。この場合、ソーステーブルは Hologres から upsert モードでデータを読み取ります。

source.binlog.startup-mode

Binlog データのコンシュームモードを指定します。

ENUM

いいえ

INITIAL

  • INITIAL (デフォルト):データの完全読み取りを実行し、その後 Binlog からの増分コンシュームを開始します。

  • EARLIEST_OFFSET:利用可能な最も古い Binlog オフセットからコンシュームを開始します。

  • TIMESTAMP:指定された startTime の Binlog からコンシュームを開始します。

  • LATEST_OFFSET:最新の Binlog オフセットからコンシュームを開始します。

説明
  • startTime が設定されているか、起動インターフェイスで開始時刻が選択されている場合、このパラメーターは自動的に TIMESTAMP モードに設定され、他のコンシュームモードは無視されます。startTime パラメーターが優先されます。

  • LATEST_OFFSET モードは VVR 11.6 以降でのみサポートされています。

source.binlog.batch-size

Binlog からバッチごとに読み取る行数を指定します。

Integer

いいえ

512

該当なし。

source.binlog.request-timeout-ms

Binlog データの読み取りタイムアウトを指定します。

Long

いいえ

300000

単位:ミリ秒。

説明

タイムアウトは、ダウンストリームの演算子がソーステーブルのデータを処理するのが遅すぎることによるバックプレッシャーを示している可能性があります。

source.binlog.project-columns.enabled

Binlog データの読み取り時に、ユーザーテーブルで指定されたフィールドのみを読み取るかどうかを指定します。

Boolean

いいえ

なし

指定されたフィールドは CREATE TEMPORARY TABLE 文で宣言されたものであり、宣言されていないフィールドは読み取られません。テーブルに多くのフィールドがあるが、サブセットのみをコンシュームする必要がある場合、このオプションは不要なデータ転送と変換を回避し、読み取りパフォーマンスを向上させ、帯域幅を節約できます。

説明

このパラメーターは VVR 11.3 以降および Hologres インスタンス V3.2 以降でのみサポートされています。通常、このパラメーターを設定する必要はありません。バージョン要件が満たされている場合、コネクタはデフォルトで有効にします。

source.binlog.compression.enabled

Binlog データの読み取り時に、転送中のデータ圧縮を有効にするかどうかを指定します。

Boolean

いいえ

なし

Binlog をコンシュームする際、サーバーは LZ4 アルゴリズムで圧縮されたバイトストリームを返します。これにより、読み取りパフォーマンスが向上し、帯域幅使用量が削減されます。

説明

このパラメーターは VVR 11.3 以降および Hologres インスタンス V3.2 以降でのみサポートされています。通常、このパラメーターを設定する必要はありません。バージョン要件が満たされている場合、コネクタはデフォルトで有効にします。

source.binlog.partition-binlog-mode

パーティションテーブルの Binlog コンシュームモードを指定します。

Enum

いいえ

DISABLE

  • DISABLE (デフォルト):非パーティションソーステーブルに使用します。指定された Hologres テーブルがパーティションテーブルの場合、ジョブは例外をスローします。

  • DYNAMIC:パーティションテーブルの最新のパーティションを継続的にコンシュームします。テーブルは動的パーティションが有効になっている必要があります。DYNAMIC モードは、パーティションを時系列順にコンシュームします。コンシュームが最後から 2 番目のパーティションに達すると、新しい時間単位が始まるときに最新のパーティションのコンシュームを開始します。

  • STATIC:パーティションテーブルから固定のパーティションセットをコンシュームします。複数のパーティションを同時にコンシュームできます。コンシューム中にパーティションを追加または削除することはできません。デフォルトでは、親テーブルのすべてのパーティションをコンシュームします。

source.binlog.partition-binlog-lateness-timeout-minutes

DYNAMIC モードで、パーティションテーブルをコンシュームする際の最大遅延タイムアウトを指定します。

Integer

いいえ

60

  • 単位:分。DYNAMIC モードでは、新しい時間単位が始まると、コネクタは現在の時間の最新パーティションのコンシュームを開始します。ただし、前のパーティションをすぐに閉じるのではなく、遅れて到着するデータをキャプチャするために監視を続けます。

例えば、動的パーティションが DAY 単位で、パーティションが 20240920 で、最大データ遅延が 1 時間の場合、このパーティションのコンシュームは 2024-09-21 00:00:00 ではなく、2024-09-21 01:00:00 に停止します。

  • lateness-timeout の値は、パーティションの時間単位を超えることはできません。

パーティションが日単位の場合、最大値は 24 * 60 = 1440 分です。DYNAMIC モードでは、コネクタは通常一度に 1 つのパーティションのみをコンシュームしますが、遅延期間中は同時に 2 つのパーティションをコンシュームする場合があります。

source.binlog.partition-values-to-read

STATIC モードで、コンシュームするパーティションを指定します。カンマ (,) を使用してパーティション値を区切ります。

String

いいえ

なし

  • このパラメーターを設定しない場合、STATIC モードは指定された親テーブルのすべてのパーティションをコンシュームします。設定した場合、指定されたパーティションのみをコンシュームします。

  • 完全なパーティション名ではなく、パーティション値のみを指定してください。複数の値はカンマ (,) で区切ります。このパラメーターは正規表現をサポートしていません。

startTime

コンシュームオフセットの開始時刻を指定します。

String

いいえ

なし

フォーマット:yyyy-MM-dd hh:mm:ss。このパラメーターが設定されておらず、ジョブが保存された状態から再開されない場合、コンシュームは最も古い Binlog から開始されます。

source.scan.fetch-size

バッチ読み取りのバッチサイズを指定します。

Integer

いいえ

512

該当なし。

source.scan.timeout-seconds

バッチ読み取りのタイムアウトを指定します。

Integer

いいえ

60

単位:秒。

source.scan.filter-push-down.enabled

バッチ読み取り中にフィルターをプッシュダウンするかどうかを指定します。

Boolean

いいえ

false

  • false (デフォルト):フィルターをプッシュダウンしません。

  • true:バッチ読み取り中に、サポートされているフィルター条件を Hologres にプッシュダウンします。

説明
  • このパラメーターは source.binlog.filter-push-down.enabled パラメーターと同時に有効にすることはできません。

  • このパラメーターは 2 つのシナリオで有効になります:

    • source.binlog が false に設定されている場合、バッチ読み取りが実行され、フィルタープッシュダウンが有効になります。

    • source.binlog を true に設定し、source.binlog.startup-mode を INITIAL に設定すると、完全および増分データ読み取りが有効になり、完全データ読み取りフェーズ中にフィルタープッシュダウンが有効になります。

source.binlog.filter-push-down.enabled

Binlog コンシューム中にフィルターをプッシュダウンするかどうかを指定します。

Boolean

いいえ

false

  • false (デフォルト):フィルターをプッシュダウンしません。

  • true:Binlog コンシューム中に、サポートされているフィルター条件を Hologres にプッシュダウンします。

説明
  • このパラメーターは VVR 11.3 以降および Hologres インスタンスのバージョン 4.0 以降でのみサポートされています。このパラメーターは source.scan.filter-push-down.enabled パラメーターと同時に有効にすることはできません。

  • source.binlog が true に設定されている場合、フィルタープッシュダウンが有効になります。例えば、source.binlog.startup-mode が INITIAL に設定されている場合、フィルタープッシュダウンは完全フェーズと増分フェーズの両方で有効です。

scan.prefer.physical-column.over.metadata-column

物理列がメタデータ列と同じ名前を共有する場合に、物理列からのデータ読み取りを優先するかどうかを指定します。

Boolean

いいえ

false

このパラメーターは VVR 11.5 以降でのみサポートされています。以前のバージョンでは、常にメタデータ列からのデータ読み取りが優先されます。

sink テーブルのパラメーター

パラメーター

説明

タイプ

必須

デフォルト

備考

sink.write-mode

データ書き込みモード。

ENUM

いいえ

INSERT

  • INSERT:デフォルト。JDBC を使用して INSERT 文でデータを書き込みます。

  • COPY_STREAM:固定の COPY ストリーミングメソッドを使用します。高スループットと低レイテンシーを必要とするシナリオ向けのパフォーマンス専有型オプションです。このモードは、データの削除、親パーティションテーブルへの書き込み、または sink.ignore-null-when-update.enabled パラメーターの使用をサポートしていません。

  • COPY_BULK_LOAD:COPY プロトコルを使用してバルク書き込みを実行します。COPY_BULK_LOAD は現在、プライマリキーのないテーブルにのみ適用されます (プライマリキーが重複している場合は例外がスローされます)。COPY_STREAM と比較して、このモードは書き込みに使用する Hologres リソースが少なくなります。

  • COPY_BULK_LOAD_ON_CONFLICT:COPY プロトコルを使用してバッチ書き込みを行い、プライマリキーを持つテーブルへの書き込みと主キー競合の処理をサポートします。

説明
  • COPY_BULK_LOAD_ON_CONFLICT モードは VVR 11.3 以降でのみサポートされており、Hologres V3.1 以降が必要です。このモードは、Hologres sink テーブルの DistributionKey に基づいて Flink 側でデータを再シャッフリングすることで機能します。これにより、同じシャードのデータが同じ Flink タスクによって書き込まれることが保証され、バッチインポートのテーブルロックの範囲がテーブルレベルからシャードレベルに縮小され、異なるシャードへの同時書き込みが可能になります。したがって、ジョブの同時実行数を Hologres sink テーブルのShard 数に合わせて設定します。

  • COPY_BULK_LOAD および COPY_BULK_LOAD_ON_CONFLICT モードでは、データはチェックポイントが成功した後にのみ可視になります。これらのモードは、即時のデータの可視性が不要なシナリオや、既存データのバッチインポートに適しています。

  • COPY_STREAM モードでは、CURRENT_TIMESTAMP や NOW() などの時間関数の値は、COPY 接続が確立されたときに固定され、各レコードごとに更新されません。Hologres テーブルの列がこれらの関数をデフォルト値として使用している場合 (例えば、DEFAULT CURRENT_TIMESTAMP)、その列の値はレコードの実際の書き込み時間ではなく、接続確立時間を反映します。正確な書き込み時間を取得するには、Hologres のデフォルト値に依存するのではなく、Flink ジョブでタイムスタンプ値を明示的に指定する必要があります。

sink.on-conflict-action

主キー競合の処理ポリシー。

ENUM

いいえ

INSERT_OR_UPDATE

  • INSERT_OR_IGNORE:最初のレコードを保持し、同じプライマリキーを持つ後続のすべてのレコードを無視します。

  • INSERT_OR_REPLACE:既存の行全体を新しい行に置き換えます。

  • INSERT_OR_UPDATE:デフォルト。既存の行の列のサブセットを更新します。

    例えば、a、b、c、d の列を持つテーブルがあり、a がプライマリキーであるとします。受信レコードが列 a と b の値のみを提供する場合、主キー競合が発生すると、システムは列 b のみを更新し、列 c と d は変更しません。

sink.create-missing-partition

パーティションテーブルに書き込む際に、一致するパーティションが存在しない場合に、パーティション値に基づいてパーティションを自動的に作成するかどうかを指定します。

Boolean

いいえ

false

  • DATE データ型をパーティションキーとして使用し、動的パーティションを有効にすると、自動作成されたパーティションの名前は動的パーティションの命名規則に従います。

  • このパラメーターは注意して使用してください。パーティション値にダーティデータが含まれていないことを確認してください。そうしないと、不正なパーティションが作成され、フェールオーバーにつながる可能性があります。

  • sink.write-mode が INSERT でない場合、親パーティションテーブルに書き込むことはできません。

sink.delete-strategy

リトラクションメッセージの処理ポリシー。

String

いいえ

CHANGELOG_STANDARD

  • IGNORE_DELETE:UPDATE_BEFORE および DELETE メッセージを無視します。このオプションは、挿入または更新のみが必要で、削除は不要なシナリオに適しています。

  • NON_PK_FIELD_TO_NULL:UPDATE_BEFORE メッセージを無視し、非プライマリキーフィールドを NULL に設定して DELETE メッセージを処理します。このオプションは、他の列に影響を与えずに削除を実行したい部分更新シナリオに適しています。

  • DELETE_ROW_ON_PK:UPDATE_BEFORE メッセージを無視し、プライマリキーに基づいて行全体を削除して DELETE メッセージを処理します。このオプションは、行全体を削除したい部分更新シナリオに適しています。

  • CHANGELOG_STANDARD:標準の Flink SQL changelog メカニズムに従います。削除操作を無視しません。このオプションは、まず古いレコードを削除してから新しいレコードを挿入することで更新を実行し、データの精度を保証します。このオプションは、部分更新を伴わないシナリオに適しています。

説明

NON_PK_FIELD_TO_NULL オプションを有効にすると、プライマリキー列のみに値があり、他のすべての列が null のレコードが生成される可能性があります。

sink.ignore-null-when-update.enabled

sink.on-conflict-action が 'INSERT_OR_UPDATE' の場合に、更新中に受信データの null 値を無視するかどうかを指定します。

Boolean

いいえ

false

  • false:デフォルト。null 値を Hologres sink テーブルに書き込みます。

  • true:受信更新データの null 値を無視します。

説明

このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

sink.ignore-null-when-update-by-expr.enabled

sink.on-conflict-action が 'INSERT_OR_UPDATE' の場合に、式ベースのメソッドを使用して受信更新データの null 値を無視するかどうかを指定します。

Boolean

いいえ

false

このメソッドは、sink.ignore-null-when-update.enabled よりも優れたパフォーマンスを提供します。

  • false:デフォルト。

    • sink.ignore-null-when-update.enabled が true の場合、更新の null 値は無視されます。

    • sink.ignore-null-when-update.enabled が false の場合、null 値は Hologres sink テーブルに書き込まれます。

  • true:sink.ignore-null-when-update.enabled の設定に関係なく、受信更新データの null 値を無視します。

説明
  • このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

  • Hologres V4.0 以降が必要です。

sink.ignore-null-when-update.use-builtin.enabled

sink.ignore-null-when-update.enabled または sink.ignore-null-when-update-by-expr.enabled が有効な場合に、Hologres SDK 組み込みメソッドを使用するかどうか。

Boolean

いいえ

false

  • false (デフォルト):sink.ignore-null-when-update.enabled または sink.ignore-null-when-update-by-expr.enabled と同じように動作します。

  • true:sink.ignore-null-when-update-by-expr.enabled がオンの場合、パフォーマンスは sink.ignore-null-when-update-by-expr.enabled を単独で有効にするよりも優れています。

sink.ignore-null-when-update.enabled がオンの場合、パフォーマンスは同等です。

説明
  • このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

  • Hologres V4.0 以降が必要です。

  • VVR 11.8 以降でのみサポートされています。

sink.default-for-not-null-column.enabled

null が、デフォルト値が定義されていない NOT NULL 列に書き込まれる場合に、コネクタがデフォルト値を提供するかどうかを指定します。

Boolean

いいえ

true

  • true:デフォルト。コネクタが次のルールに基づいてデフォルト値を提供し、書き込むことを許可します:

    • String データ型の場合、空の文字列 ("") が書き込まれます。

    • Number データ型の場合、0 が書き込まれます。

    • Date、timestamp、または timestamptz データ型の場合、1970-01-01 00:00:00 が書き込まれます。

  • false:デフォルト値を提供しません。NOT NULL 列に null 値を書き込むと、例外がスローされます。

説明

このパラメーターは、sink.write-mode が INSERT に設定され、かつ sink.on-conflict-action が INSERT_OR_UPDATE 以外のオプションに設定されている場合にのみサポートされます。

sink.remove-u0000-in-text.enabled

書き込み操作中に、コネクタが文字列型から不正な \u0000 文字を削除するかどうかを指定します。

Boolean

いいえ

true

  • false:コネクタはデータを変更しません。ダーティデータに遭遇した場合、書き込み操作で次のようなエラーがスローされることがあります:ERROR: invalid byte sequence for encoding "UTF8": 0x00

    この場合、ソーステーブルでダーティデータを処理するか、SQL 文でダーティデータの処理ロジックを定義する必要があります。

  • true:デフォルト。コネクタは文字列型から \u0000 文字を削除して、書き込みエラーを防ぎます。

sink.partial-insert.enabled

INSERT 文で定義されたフィールドのみを挿入または更新するかどうかを指定します。

Boolean

いいえ

false

  • false:デフォルト。sink テーブルの DDL で定義されたすべてのフィールドが更新されます。INSERT 文で宣言されていないフィールドは null に更新されます。

  • true:INSERT 文で定義されたフィールドのみをコネクタにプッシュし、宣言されたフィールドのみを更新または挿入できるようにします。

説明
  • このパラメーターは、sink.on-conflict-action パラメーターが INSERT_OR_UPDATE に設定されている場合にのみ有効です。

sink.deduplication.enabled

バッチ処理中に重複排除を実行するかどうかを指定します。

Boolean

いいえ

true

  • true:デフォルト。バッチに同じプライマリキーを持つ複数のレコードが含まれている場合、コネクタはそれらを重複排除し、最後のレコードのみを Hologres sink テーブルに書き込みます。2 つのフィールドを持つテーブルを考えます。最初のフィールドがプライマリキーです:

    • レコード INSERT (1,'a') と INSERT (1,'b') が順番に到着した場合、重複排除後、最後のレコードである (1,'b') のみが Hologres sink テーブルに書き込まれます。

    • Hologres sink テーブルにすでにレコード (1,'a') が含まれており、レコード DELETE (1,'a') と INSERT (1,'b') が順番に到着した場合、最後のレコード (1,'b') のみが Hologres に書き込まれます。これにより、削除してから挿入するのではなく、直接更新が行われます。

  • false:バッチ処理中の重複排除を無効にします。新しいレコードが現在のバッチ内のレコードと同じプライマリキーを持つ場合、バッチはまず sink に書き込まれ、その後新しいレコードが処理されます。

説明
  • このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

  • 重複排除が無効になっている場合、すべてのレコードが同じプライマリキーを持つなどの極端なケースでは、書き込み操作が単一行書き込みに低下する可能性があります。これにより、パフォーマンスが低下する可能性があります。

sink.aggressive-flush.enabled

アグレッシブフラッシュモードを有効にするかどうかを指定します。

Boolean

いいえ

false

true に設定すると、バッチが設定されたサイズに達していなくても、接続がアイドル状態のときにコネクタは強制的にバッチをフラッシュします。これにより、低トラフィック期間中のデータ書き込みレイテンシーが削減されます。

説明

このパラメーターは、sink.write-mode が INSERT または COPY_STREAM に設定されている場合にのみサポートされます。

sink.insert.check-and-put.column

条件付き更新を有効にし、チェックする列を指定します。

String

いいえ

なし

このパラメーターの値は、Hologres テーブルに存在する列名である必要があります。

重要
  • このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

  • sink テーブルにはプライマリキーが必要であり、sink.on-conflict-action パラメーターは INSERT_OR_UPDATE または INSERT_OR_REPLACE である必要があります。

  • 逆引き参照が必要なため、パフォーマンスを向上させるために、sink テーブルを行指向テーブルまたはハイブリッド行列表として作成してください。

  • 多くのレコードが同じプライマリキーを共有する場合、check-and-put 操作は単一行書き込みに低下し、書き込みパフォーマンスが低下する可能性があります。

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 値をこのパラメーターで指定された値として扱います。

String

いいえ

なし

PostgreSQL では、NULL との比較はすべて FALSE を返します。したがって、テーブル内の既存の値が NULL の場合、比較に使用する特定の値にこのパラメーターを設定する必要があります。これは SQL の COALESCE 関数に相当します。

sink.insert.batch-size

INSERT モードで、書き込む前にバッチに含める最大レコード数。

Integer

いいえ

512

コネクタは、sink.insert.batch-size、sink.insert.batch-byte-size、または sink.insert.flush-interval-ms のいずれかのしきい値に達すると書き込みをトリガーします。

sink.insert.batch-byte-size

INSERT モードで、書き込む前のバッチの最大サイズ (バイト単位)。

Long

いいえ

2097152 (2 MB)

sink.insert.flush-interval-ms

INSERT モードで、バッチが Hologres にフラッシュされるまでの最大待機間隔 (ミリ秒)。

Long

いいえ

10000

sink.copy.format

COPY モードで使用されるデータ転送フォーマット。

String

いいえ

  • COPY_STREAM モードのデフォルトは binary です。

  • COPY_BULK_LOAD または COPY_BULK_LOAD_ON_CONFLICT モードのデフォルトは text です。

COPY_STREAM モードでサポートされているフォーマット:

  • binary

  • text

  • binaryrow (Hologres エンジン V4.1.0 以降が必要)

COPY_BULK_LOAD または COPY_BULK_LOAD_ON_CONFLICT モードでサポートされているフォーマット:text のみ

説明

このパラメーターは、sink.write-mode が COPY_STREAM、COPY_BULK_LOAD、または COPY_BULK_LOAD_ON_CONFLICT に設定されている場合にのみサポートされます。

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 の値は新しい値に更新されます。

  • このパラメーターが指定されていない場合、コネクタはデフォルトで、受信したすべてのフィールドを新しい値に更新します。

  • 結果が古い値に依存するステートフルな式 (例えば、col=old.col+excluded.col) の場合、列が行バージョン番号として機能できることを確認し、sink.insert.conflict-where を excluded.seq>old.seq に設定します。これにより、フェールオーバーとリカバリ後のデータの正確性が保証されます。

説明

このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

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 の新しい値が既存の値より大きい場合にのみ更新がトリガーされます。

説明
  • このパラメーターは、sink.write-mode が INSERT に設定されている場合にのみサポートされます。

  • このパラメーターは sink.insert.check-and-put* パラメーターと競合します。同時に設定するとエラーが発生します。

ディメンションテーブルのパラメーター

パラメーター

説明

タイプ

必須

デフォルト

備考

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 の 2 つのキャッシュポリシーのみをサポートしています。

cacheSize

キャッシュサイズ (行数)。

Integer

いいえ

10000

LRU キャッシュポリシーを選択した後、キャッシュサイズを設定できます。単位はエントリです。

cacheTTLMs

キャッシュの Time-to-Live (TTL) (ミリ秒)。

Long

いいえ

備考をご参照ください。

単位はミリ秒です。cacheTTLMs のデフォルト値はキャッシュ設定によって異なります:

  • キャッシュが LRU として設定されている場合、cacheTTLMs はキャッシュのタイムアウトを指定します。デフォルト設定は有効期限なしです。

  • キャッシュが None として設定されている場合、cacheTTLMs は省略でき、キャッシュがタイムアウトしないことを示します。

cacheEmpty

空の join 結果をキャッシュするかどうかを指定します。

Boolean

いいえ

true

  • true (デフォルト):空の join 結果をキャッシュします。

  • false:空の join 結果をキャッシュしません。

    ただし、join 文の AND の前の条件は満たされるが AND の後の条件が満たされない場合、空の結果は引き続きキャッシュされます。次のコードは例です。

    LEFT JOIN latest_emergency FOR SYSTEM_TIME AS OF PROCTIME() AS t2
     ON t1.alarm_id = t2.alarm_id -- If a dynamic alarm is detected, match it by using the dynamic alarm ID. Otherwise, ignore the dynamic alarm ID field.
     AND CASE
     WHEN alarm_type = 2 THEN t1.dynamic_id = t2.dynamic_alarm_id
     ELSE true
     END
重要

このスイッチを有効にするかどうかは、実際のビジネスシナリオに基づいて決定してください。

  • 静的テーブルまたは緩やかに変化するディメンションテーブルのパフォーマンスを向上させ、I/O 負荷を削減するには、デフォルト値 (true) を使用します。

  • 頻繁に更新されるディメンションテーブルの場合、このパラメーターを false に設定するか、短い cacheTTLMs 値を使用します。これにより、空のキャッシュエントリが速やかに削除され、後続の結合の失敗を防止します。

async

結果を非同期で返すかどうかを指定します。

Boolean

いいえ

false

  • true:結果を非同期で返します。

  • false (デフォルト):結果を同期的に返します。

説明
  • 非同期の結果は順序付けされません。

  • ディメンションテーブルの非同期クエリは、async と lookup.async の両方のパラメーターによって制御されます。このパラメーターまたは lookup.async のいずれかが true の場合、非同期クエリが有効になります。

    lookup.async のデフォルト値は true です。したがって、async が false に設定されていても、非同期クエリは有効になります。

    非同期クエリを無効にするには、両方のパラメーターを false に設定する必要があります。

lookup.async

ディメンションテーブルの非同期クエリを有効にするかどうかを指定します。

Boolean

いいえ

true

  • true (デフォルト):非同期クエリを有効にします。

  • false:非同期クエリを無効にします。

lookup.filter-push-down.enabled

ディメンションテーブルのフィルター条件を Hologres サーバーにプッシュダウンするかどうかを指定します。

Boolean

いいえ

false

この機能は、列と定数の間の比較操作のみをサポートします。コネクタは、等価 (=) および比較 (<、<=、>、>=) 演算子のみをプッシュダウンします。

説明

このパラメーターは、リアルタイム計算エンジン VVR 11.4 以降でのみサポートされています。