在Flink SQL客户端中,区分批处理模式(Batch Mode)和流处理模式(Streaming Mode)主要通过以下几种方式进行:
当启动Flink SQL客户端时,可以通过命令行参数指定运行模式:
在sql-client-defaults.yaml
配置文件中,可以设置默认的运行模式:
execution:
mode: batch # 或 streaming
这样,每次启动SQL客户端时,都会根据配置文件中的设置以指定的模式运行。
Flink SQL客户端也支持通过环境变量来设置运行模式:
在某些情况下,也可以在SQL DDL语句中指定执行模式。例如,在创建表时,可以指定表的执行模式:
CREATE TABLE my_table (
id INT,
name STRING,
ts TIMESTAMP(3),
WATERMARK FOR ts AS ts - INTERVAL '5' SECOND
) WITH (
'connector' = 'kafka',
'topic' = 'my_topic',
'properties.bootstrap.servers' = 'localhost:9092',
'format' = 'json',
'scan.startup.mode' = 'earliest-offset',
'execution.mode' = 'streaming' -- 或 'batch'
);
在Flink SQL客户端中,可以通过上下文命令来切换执行模式:
SET EXECUTION MODE batch; -- 切换到批处理模式
SET EXECUTION MODE streaming; -- 切换到流处理模式
Flink SQL客户端提供了多种方式来区分和设置批处理模式和流处理模式,包括命令行参数、配置文件、环境变量、SQL DDL语句中的执行模式以及上下文管理。根据具体的使用场景和需求,可以选择合适的方式来指定运行模式。
领取专属 10元无门槛券
手把手带您无忧上云