flink
旧时光中的旅人
这个作者很懒,什么都没留下…
展开
-
全量窗口函数ProcessWindowFunction
ProcessWindowFunction在某些情况下,统计更复杂的指标可能需要依赖于窗口中所有的数据元素,或需要操作窗口中的状态数据和窗口元数据,这时就需要使用到ProcessWindowsFunction,ProcessWindowsFunction能够更加灵活地支持基于窗口全部数据元素的结果计算, 例如对整个窗口数据排序取 TopN, 这样的需要就必须使用ProcessWindowFunction。object TestProcessFuntionWindow{ def main..原创 2020-11-05 21:41:41 · 2949 阅读 · 0 评论 -
Flink的Aggregate算子的用法
窗口聚合函数如果定义了 WindowAssigner之后,下一步就可以定义窗口内数据的计算逻辑,这也就是 Window Function的定义。Flink中提供了四种类型的 Window Function, 分别为ReduceFunction、AggregateFunction以及 ProcessWindowFunction,(sum和 max)等。前三种类型的 Window Fucntion 按照计算原理的不同可以分为两大类:一类是增量聚合函数:对应有 ReduceFunct...原创 2020-11-05 20:56:13 · 4495 阅读 · 1 评论 -
flink的侧输出流
flink的侧输出流在 flink处理数据流时,我们经常会遇到这样的情况:在处理一个数据源时,往往需要将该源中的不同类型的数据做分割处理,如果使用 filter算子对数据源进行筛选分割的话,势必会造成数据流的多次复制,造成不必要的性能浪费;flink中的侧输出就是将数据流进行分割,而不对流进行复制的一种分流机制。flink的侧输出的另一个作用就是对延时迟到的数据进行处理,这样就可以不必丢弃迟到的数据。/*** 把呼叫成功的Stream(主流)和不成功的Stream(侧流)分别输出。*/...原创 2020-11-05 13:51:14 · 2581 阅读 · 1 评论 -
flink算子
flink的知识总结flink的编程模型分为 四部分:enviroment--->source---->transformation--->sink1.flink的数据源1.文件数据源 //初始化Flink的Streaming(流计算)上下文执行环境 val streamEnv = StreamExecutionEnvironment.getExecutionEnvironment //读取数据 val stream = streamEnv.原创 2020-11-05 13:44:49 · 747 阅读 · 0 评论