Flink
文章平均质量分 59
原来你也在这里。
这个作者很懒,什么都没留下…
展开
-
Flink状态编程和容错机制
算子状态:算子状态(None key状态)的作用范围限定为算子任务。这意味着由同一并行任务所处理的所有数据都可以访问到相同的状态,状态对于同一任务而言是共享的。算子状态不能由相同或不同算子的另一个任务访问。键控状态:键控状态是根据输入数据流中定义的键(key)来维护和访问的。Flink 为每个键值维护一个状态实例,并将具有相同键的所有数据,都分区到同一个算子任务中,这个任务会维护和处理这个 key 对应的状态。当任务处理一条数据时,它会自动将状态的访问范围限定为当前数据的 key。因此,具有相同原创 2021-09-27 11:08:24 · 114 阅读 · 0 评论 -
Flink中的ProcessFunction API(侧输出流SideOutput)
大部分的 DataStream API 的算子的输出是单一输出,也就是某种数据类型的流。除了 split 算子,可以将一条流分成多条流,这些流的数据类型也都相同。process function 的 side outputs 功能可以产生多条流,并且这些流的数据类型可以不一样。一个 side output 可以定义为 OutputTag[X]对象,X 是输出流的数据类型。process function 可以通过 Context 对象发射一个事件到一个或者多个 side outputs。案例:packa原创 2021-09-24 15:00:49 · 296 阅读 · 0 评论 -
Flink中的ProcessFunction API(温度报警案例)
ProcessFunction API:DataStream API 提供了一系列的 Low-Level 转换算子。可以访问时间戳、watermark 以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Function 用来构建事件驱动的应用以及实现自定义的业务逻辑(使用之前的window 函数和转换算子无法实现)。例如,Flink SQL 就是使用 Process Function 实现的。KeyedProcessFunction:KeyedProcessFunction原创 2021-09-24 14:36:59 · 291 阅读 · 0 评论 -
Flink时间语义与 Wartermark
EventTime:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。例如:点击网站上的某个链接的时间env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)IngestionTime:某个Flink节点的source operator接收到数据的时间,例如:某个source消费到kafka中的数据env.setStreamTimeCha原创 2021-09-23 17:57:35 · 115 阅读 · 0 评论 -
Flink中的Window
Window原创 2021-09-22 10:40:52 · 82 阅读 · 0 评论 -
Flink
spark和flink设计理念Spark:是以批次处理为理念设计出来的,后期加上的流处理。(伪实时处理)Flink:以流处理为理念设计出来的。DataSet API:是Flink用于批处理应用程序的核心DataStream API:流处理Gelly:是一个可扩展图形处理和分析库。...原创 2021-09-07 18:02:51 · 97 阅读 · 0 评论