This topic lists the WITH parameters for Ververica Runtime (VVR) versions 11 and later.
Parameter deprecation
To improve system architecture and maintenance, some legacy parameters from VVR 8 and earlier versions are now deprecated. The following tables list these parameters and their replacements.
WITH parameters
General
Parameter | Description | Type | Required | Default | Remarks |
connector | The type of table. | String | Yes | — | The value must be |
dbname | The name of the database. | String | Yes | — | You can connect to a specific virtual warehouse by appending a suffix to the database name. For example, to connect a dimension table to the |
tablename | The name of the table. | String | Yes | — | If the schema is not |
username |
| String | Yes | — |
Important To prevent your AccessKey information from being exposed, we recommend that you use namespace variables to store your AccessKey values. For more information, see Namespace variables. |
password |
| String | Yes | — | |
endpoint | The endpoint of the Hologres service. | String | Yes | — | For more information, see Endpoints. |
connection.pool.size | The size of the JDBC connection pool created for a single Flink table within a task. | Integer | No | 5 | If job performance is insufficient, consider increasing the connection pool size. The pool size is proportional to the data throughput. This parameter affects only dimension tables and sink tables. |
connection.pool.name | Tables in the same TaskManager can share a connection pool by using the same name. | String | No |
| The default value is For example, if a job contains five Hologres tables (dimension tables A and B, and sink tables C, D, and E), you can configure tables A and B to use Note
|
connection.fixed.enabled | Specifies whether to use the lightweight connection mode. | Boolean | No | — | Hologres has a connection limit. Starting from Hologres V2.1, real-time writes support lightweight connections that are not subject to this limit. Note
|
connection.max-idle-ms | The idle timeout for a JDBC connection, in milliseconds. | Long | No | 60000 | If a connection remains idle longer than this time, it is closed. A new connection is automatically created when needed. |
connection.ssl.mode | Specifies whether to enable Secure Sockets Layer (SSL) encryption in transit and which mode to use. | String | No | disable |
Note
|
connection.ssl.root-cert.location | The path to the CA certificate, required for certificate-based encryption modes. | String | No | — | If Note For information about how to obtain a CA certificate, see Download the CA certificate. |
retry-count | The number of times to retry a write or query operation on connection failure. | Integer | No | 10 | — |
retry-sleep-step-ms | The incremental wait time for each retry, in milliseconds. | Long | No | 5000 | For example, with the default value of 5,000 (5 seconds), the first retry waits for 5 seconds, the second for 10 seconds, and so on. |
meta-cache-ttl-ms | The time-to-live (TTL) for locally cached TableSchema information, in milliseconds. | Long | No | 600000 | — |
serverless-computing.enabled | Specifies whether to use serverless resources. | Boolean | No | false | If this parameter is set to Note
Note We recommend enabling this parameter for large-scale data imports or exports to avoid impacting other queries on your Hologres instance. For more information, see Overview. |
Source table parameters
Parameter | Description | Type | Required | Default | Remarks |
source.binlog | Specifies whether to consume binlog data. | Boolean | No | true |
|
source.binlog.read-mode | Specifies the read mode. | ENUM | No | AUTO |
Note The selection logic for AUTO mode is as follows:
|
source.binlog.change-log-mode | Specifies the ChangeLog types supported by the CDC source table. | ENUM | No | UPSERT |
Note If the downstream pipeline includes a retraction operator (for example, using |
source.binlog.startup-mode | Specifies the consumption mode for binlog data. | ENUM | No | INITIAL |
Note
|
source.binlog.batch-size | Specifies the number of rows to read per batch from the binlog. | Integer | No | 512 | Not applicable. |
source.binlog.request-timeout-ms | Specifies the timeout for reading binlog data. | Long | No | 300000 | Unit: milliseconds. Note A timeout may indicate backpressure caused by downstream operators processing source table data too slowly. |
source.binlog.project-columns.enabled | Specifies whether to read only the fields specified in the user table when reading binlog data. | Boolean | No | None | The specified fields are those declared in the Note This parameter is supported only in VVR 11.3 and later and Hologres instances V3.2 and later. You do not usually need to configure this parameter. The connector enables it by default if the version requirements are met. |
source.binlog.compression.enabled | Specifies whether to enable data compression during transit when reading binlog data. | Boolean | No | None | When consuming the binlog, the server returns a byte stream compressed with the LZ4 algorithm. This improves read performance and reduces bandwidth usage. Note This parameter is supported only in VVR 11.3 and later and Hologres instances V3.2 and later. You do not usually need to configure this parameter. The connector enables it by default if the version requirements are met. |
source.binlog.partition-binlog-mode | Specifies the binlog consumption mode for a partitioned table. | Enum | No | DISABLE |
|
source.binlog.partition-binlog-lateness-timeout-minutes | In DYNAMIC mode, specifies the maximum lateness timeout when consuming a partitioned table. | Integer | No | 60 |
For example, if dynamic partitioning is by DAY, for partition
If partitioning is by day, the maximum value is 24 * 60 = 1440 minutes. In DYNAMIC mode, the connector usually consumes only one partition at a time, but it may consume two partitions simultaneously during the lateness period. |
source.binlog.partition-values-to-read | In STATIC mode, specifies the partitions to consume. Use commas (,) to separate partition values. | String | No | None |
|
startTime | Specifies the start time for the consumption offset. | String | No | None | Format: yyyy-MM-dd hh:mm:ss. If this parameter is not set and the job is not resuming from a saved state, consumption starts from the earliest binlog. |
source.scan.fetch-size | Specifies the batch size for batch reads. | Integer | No | 512 | Not applicable. |
source.scan.timeout-seconds | Specifies the timeout for batch reads. | Integer | No | 60 | Unit: seconds. |
source.scan.filter-push-down.enabled | Specifies whether to push down filters during a batch read. | Boolean | No | false |
Note
|
source.binlog.filter-push-down.enabled | Specifies whether to push down filters during binlog consumption. | Boolean | No | false |
Note
|
scan.prefer.physical-column.over.metadata-column | Specifies whether to prioritize reading data from a physical column when it shares the same name as a metadata column. | Boolean | No | false | This parameter is supported only in VVR 11.5 and later. Earlier versions always prioritize reading data from the metadata column. |
Sink table parameters
Parameter | Description | Type | Required | Default | Remarks |
sink.write-mode | The data write mode. | ENUM | No | INSERT |
Note
|
sink.on-conflict-action | The policy for handling a primary key conflict. | ENUM | No | INSERT_OR_UPDATE |
|
sink.create-missing-partition | Specifies whether to automatically create a partition based on the partition value if a matching one does not exist when writing to a partitioned table. | Boolean | No | false |
|
sink.delete-strategy | The policy for handling retraction messages. | String | No | CHANGELOG_STANDARD |
Note Enabling the |
sink.ignore-null-when-update.enabled | When | Boolean | No | false |
Note This parameter is supported only when |
sink.ignore-null-when-update-by-expr.enabled | When | Boolean | No | false | This method offers better performance than
Note
|
sink.default-for-not-null-column.enabled | Specifies whether the connector provides a default value when a null is written to a | Boolean | No | true |
Note This parameter is supported only when |
sink.remove-u0000-in-text.enabled | Specifies whether the connector removes the illegal | Boolean | No | true |
|
sink.partial-insert.enabled | Specifies whether to insert or update only the fields defined in the INSERT statement. | Boolean | No | false |
Note
|
sink.deduplication.enabled | Specifies whether to perform deduplication during batching. | Boolean | No | true |
Note
|
sink.aggressive-flush.enabled | Specifies whether to enable aggressive flush mode. | Boolean | No | false | If set to true, the connector forcibly flushes a batch when the connection is idle, even if the batch has not reached its configured size. This reduces data write latency during low-traffic periods. Note This parameter is supported only when |
sink.insert.check-and-put.column | Enables conditional updates and specifies the column to check. | String | No | None | The value of this parameter must be an existing column name in the Hologres table. Important
|
sink.insert.check-and-put.operator | The comparison operator for the conditional update operation. | String | No | GREATER | Compares the check column of the incoming record with the existing value in the table. The update proceeds if the condition is met. Supported operators are: |
sink.insert.check-and-put.null-as | During a conditional update, treats a null value in the existing data as the value specified by this parameter. | String | No | None | In PostgreSQL, any comparison with |
sink.insert.batch-size | In | Integer | No | 512 | The connector triggers a write when any of the |
sink.insert.batch-byte-size | In | Long | No | 2097152 (2 MB) | |
sink.insert.flush-interval-ms | In | Long | No | 10000 | |
sink.copy.format | The data transmission format used in COPY mode. | String | No |
| Supported formats for
Supported format for Note This parameter is supported only when |
sink.insert.conflict-update-set | The Hologres expression used to update the row when a primary key conflict occurs. | String | No | None | Equivalent to For example, if this parameter is set to
Note This parameter is supported only when |
sink.insert.conflict-where | The Hologres filter condition for triggering an update during a primary key conflict. | String | No | None | Equivalent to For example, if this parameter is set to Note
|
Dimension table parameters
Parameter | Description | Type | Required | Default | Notes |
lookup.read.batch-size | The maximum number of records to batch for point queries on a Hologres dimension table. | Integer | No | 256 | None |
lookup.read.timeout-ms | The timeout for point queries on a dimension table. | Long | No | 0, which means no timeout. | None |
lookup.read.column-table.enabled | Specifies whether to use a column-oriented table as the dimension table. | Boolean | No | false | Column-oriented tables perform poorly for point queries. We recommend using a row-oriented or hybrid row-column table as a dimension table. A warning is logged if this parameter is enabled for a column-oriented table. |
lookup.insert-if-not-exists | Specifies whether to insert a record if it does not exist. | Boolean | No | false | If a point query finds no match for the current record in the dimension table, the connector inserts the record. |
cache | The cache policy. | String | No | None | Hologres supports only two cache policies: None and LRU. |
cacheSize | The cache size, in rows. | Integer | No | 10000 | After you select the LRU cache policy, you can set the cache size. The unit is entries. |
cacheTTLMs | The cache time-to-live (TTL), in milliseconds. | Long | No | See Notes. | The unit is milliseconds. The default value of cacheTTLMs depends on the cache configuration:
|
cacheEmpty | Specifies whether to cache empty join results. | Boolean | No | true |
Important
|
async | Specifies whether to return results asynchronously. | Boolean | No | false |
Note
|
lookup.async | Specifies whether to enable asynchronous queries for dimension tables. | Boolean | No | true |
|
lookup.filter-push-down.enabled | Specifies whether to push down dimension table filter conditions to the Hologres server. | Boolean | No | false | This feature supports only comparison operations between a column and a constant. The connector pushes down only equality (=) and comparison (<, <=, >, >=) operators. Note This parameter is supported only in Realtime Compute Engine VVR 11.4 and later. |