SET Statement in Confluent Cloud for Apache Flink

Confluent Cloud for Apache Flink® enables setting Flink SQL shell properties to different values.

Syntax

SET 'key' = 'value';

Description

Modify or list the Flink SQL shell configuration.

If no key and value are specified, SET prints all of the properties that you have assigned for the session.

To reset a session property to its default value, use the RESET Statement in Confluent Cloud for Apache Flink.

Note

In a Cloud Console workspace, the SET statement can’t be run separately and must be submitted along with another Flink SQL statement, like SELECT, CREATE, or INSERT, for example:

SET 'sql.current-catalog' = 'default';
SET 'sql.current-database' = 'cluster_0';
SELECT * FROM pageviews;

Example

The following examples show how to run a SET statement in the Flink SQL shell.

SET 'table.local-time-zone' = 'America/Los_Angeles';

Your output should resemble:

Statement successfully submitted.
Statement phase is COMPLETED.
configuration updated successfully.

To list the current session settings, run the SET command with no parameters.

SET;

Your output should resemble:

 Statement successfully submitted.
 Statement phase is COMPLETED.
+-----------------------+--------------------------+
|          Key          |          Value           |
+-----------------------+--------------------------+
| catalog               | default (default)        |
| default_database      | <your_cluster> (default) |
| table.local-time-zone | America/Los_Angeles      |
+-----------------------+--------------------------+

The SET; operation is not supported in Cloud Console workspaces.

Available SET Options

These are the available configuration options available by using the SET statement in Confluent Cloud for Apache Flink.

Note

In a Cloud Console workspace, the only client option you can set is client.statement-name. The client.results-timeout, client.output-format, and client.service-account options are available only in the Flink SQL shell.

Key Default Type Description
client.output-format standard String Output format. Valid values are “standard” or “plain-text”.
client.results-timeout 600000 Long Total amount of time, in milliseconds, to wait before timing out the request waiting for results to be ready.
client.service-account (None) String Service account to use instead of running statements attached to your user account. For more information, see Submit long-running statements.
client.statement-name (None) String Give your Flink statement a meaningful name that can help you identify it more easily. Instead of 123e4567-e89b-12d3, this sets the statement name to the given value. To avoid naming conflicts, the name resets itself after successful submission. The underscore character (_) and period character (.) are not supported.
sql.current-catalog (None) String Default catalog to use. Is also set by USE CATALOG [catalog_name].
sql.current-database (None) String Default database to use. Is also set by USE [database_id].
sql.local-time-zone Local device time zone String Specify the local time zone offset for SQL. When converting to data types that don’t include a time zone (for example, TIMESTAMP, TIME, or simply STRING), this time zone is used. The input for this option is either a full name, like “America/Los_Angeles”, or a custom timezone id, like “GMT-08:00”.
sql.state-ttl 0 ms Duration Specifies a minimum time interval for how long idle state, meaning state that is not updated, is retained. State is never cleared when idle for less than the minimum time, and is cleared at some time after the idle duration.
sql.tables.scan.idle-timeout 15 s Duration When a source does not receive any elements for the timeout time, it is marked as temporarily idle. This enables each downstream task to advance its watermark without the need to wait for watermarks from this source while it is idle. By default, Confluent Cloud for Apache Flink has progressive idleness detection that starts at 15 s and increases to a maximum of 5 m over time. You can turn off progressive idleness by setting sql.tables.scan.idle-timeout to 0 ms, or you can can set a fixed idleness timeout with your desired value.