美文网首页apache iceberg
iceberg源码-ScanContext

iceberg源码-ScanContext

作者: 神奇的考拉 | 来源:发表于2021-09-24 08:11 被阅读0次

一、概述

主要针对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));

相关文章

网友评论

    本文标题:iceberg源码-ScanContext

    本文链接:https://www.haomeiwen.com/subject/gjeogltx.html