2.4.1 转换操作路线图

Flink除了data source和data sink,还有一个重要的操作就是data transformation,它是flink操作数据的核心,它可以分为两类,一类是键控状态的处理,另一类是非键控状态的处理,类似于下面两个流程:

stream
        .keyBy(...)                <- 键控状态的操作,区别于非键控状态
        .window(...)            <- 窗口处理
        [.trigger(...)]        <- 触发机制的处理
        [.evictor(...)]        <- 流数据的前期处理
        [.allowedLateness(...)]        <- 对迟到数据的处理
        [.sideOutputLateData(...)]        <- 迟到数据的侧输出处理
        .reduce/aggregate/fold/apply(...)        <- 数据聚合操作处理
        [.getSideOutput(...)]        <- 数据的侧输出处理
stream
        .windowAll(...)            <- 窗口处理
        [.trigger(...)]        <- 触发机制的处理
        [.evictor(...)]        <- 流数据的前期处理
        [.allowedLateness(...)]        <- 对迟到数据的处理
        [.sideOutputLateData(...)]        <- 迟到数据的侧输出处理
        .reduce/aggregate/fold/apply(...)        <- 数据聚合操作处理
        [.getSideOutput(...)]        <- 数据的侧输出处理

其中,[]括号内都是可选的操作。我们先从必选的操作讲起,然后再讲可选的操作。

results matching ""

    No results matching ""