一、概述
主要针对flink一次读取的上下文,通过ScanContext来指定本次flink scan读取的涉及参数或选项配置。
二、实现
关键属性
// 当前snapshot
private static final ConfigOption<Long> SNAPSHOT_ID =
ConfigOptions.key("snapshot-id").longType().defaultValue(null);
// 是否忽略大小写
private static final ConfigOption<Boolean> CASE_SENSITIVE =
ConfigOptions.key("case-sensitive").booleanType().defaultValue(false);
// 指定timestamp
private static final ConfigOption<Long> AS_OF_TIMESTAMP =
ConfigOptions.key("as-of-timestamp").longType().defaultValue(null);
// 指定本次scan开始的snapshot
private static final ConfigOption<Long> START_SNAPSHOT_ID =
ConfigOptions.key("start-snapshot-id").longType().defaultValue(null);
// 指定本次scan结束的snapshot
private static final ConfigOption<Long> END_SNAPSHOT_ID =
ConfigOptions.key("end-snapshot-id").longType().defaultValue(null);
// 进行scan时针对datafile进行split操作的内容大小
private static final ConfigOption<Long> SPLIT_SIZE =
ConfigOptions.key("split-size").longType().defaultValue(null);
// 进行combine splits指定的
private static final ConfigOption<Integer> SPLIT_LOOKBACK =
ConfigOptions.key("split-lookback").intType().defaultValue(null);
private static final ConfigOption<Long> SPLIT_FILE_OPEN_COST =
ConfigOptions.key("split-file-open-cost").longType().defaultValue(null);
// 是否是streaming操作
private static final ConfigOption<Boolean> STREAMING =
ConfigOptions.key("streaming").booleanType().defaultValue(false);
// flink读取datafile内容周期:默认10s
private static final ConfigOption<Duration> MONITOR_INTERVAL =
ConfigOptions.key("monitor-interval").durationType().defaultValue(Duration.ofSeconds(10));
网友评论