![](https://img-blog.csdnimg.cn/55e948cbedfb4f58bb4bc9385f0527fb.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Flink
文章平均质量分 74
实时即未来
文文鑫
这个作者很懒,什么都没留下…
展开
-
Flink Window中典型的增量聚合函数(ReduceFunction / AggregateFunction)
在Flink Window中定义了窗口分配器,我们只是知道了数据属于哪个窗口,可以将数据收集起来了;至于收集起来到底要做什么,其实还完全没有头绪,这也就是窗口函数所需要做的事情。所以在窗口分配器之后,我们还要再接上一个定义窗口如何进行计算的操作,这就是所谓的“窗口函数”(window functions)。窗口可以将数据收集起来,最基本的处理操作当然就是基于窗口内的数据进行聚合。我们可以每来一个数据就在之前结果上聚合一次,这就是“增量聚合”。原创 2023-12-08 17:09:54 · 849 阅读 · 0 评论 -
Flink Flink数据写入Kafka
flink官方集成了通用的 Kafka 连接器,使用时需要根据生产环境的版本引入相应的依赖。通过socket模拟数据写入Flink之后,Flink将数据写入Kafka。原创 2023-12-06 20:21:30 · 2046 阅读 · 0 评论 -
Flink Flink中的合流
但我们知道一个DataStream中的数据只能有唯一的类型,所以连接得到的结果并不是DataStream,而是一个“连接流”。事实上内部仍保持各自的数据形式不变,彼此之间是相互独立的。要想得到新的DataStream,还需要进一步定义一个“同处理”(co-process)转换操作,用来说明对于不同来源、不同类型的数据,怎样分别进行处理转换、得到统一的输出类型。所以整体上来,两条流的连接就像是“一国两制”,两条流可以保持各自的数据类型、处理方式也可以不同,不过最终还是会统一到同一个DataStream中。原创 2023-11-28 16:26:41 · 870 阅读 · 0 评论 -
Flink Flink中的分流
所谓“分流”,就是将一条数据流拆分成完全独立的两条、甚至多条流。也就是基于一个DataStream,定义一些筛选条件,将符合条件的数据拣选出来放到对应的流里。原创 2023-11-24 17:50:24 · 1291 阅读 · 0 评论 -
Flink 常用物理分区算子(Physical Partitioning)
在上述实验中,我们设置全局env的并行度为2,尝试执行2次job,发现2次执行的结果不一致,因为shuffle的完全随机性,将输入流分配到不同的分区中,且每次分配可能不一样。这种做法非常极端,通过调用.global()方法,会将所有的输入流数据都发送到下游算子的第一个并行子任务中去。通过调用 DataStream 的.shuffle()方法,将数据随机地分配到下游算子的并行任务中去。这种方式其实不应该叫做“重分区”,因为经过广播之后,数据会在不同的分区都保留一份,可能进行重复处理。原创 2023-11-24 15:22:57 · 1083 阅读 · 0 评论 -
Flink DataStream创建执行环境的正确方式与细节问题
【代码】Flink DataStream创建执行环境的正确方式与细节问题。原创 2023-10-27 10:57:47 · 1151 阅读 · 0 评论 -
Flink 将数据写入MySQL(JDBC)
在实际的生产环境中,我们经常会把Flink处理的数据写入MySQL、Doris等数据库中,下面以MySQL为例,使用JDBC的方式将Flink的数据实时数据写入MySQL。原创 2023-10-26 21:41:07 · 2640 阅读 · 0 评论 -
Flink 中KeyBy、分区、分组的正确理解
数据具体去往哪个分区,是通过指定的 key 值先进行一次 hash 再进行一次 murmurHash,通过上述计算得到的值再与并行度进行相应的计算得到。在Flink中,KeyBy作为我们常用的一个聚合类型算子,它可以按照相同的Key对数据进行重新分区,分区之后分配到对应的子任务当中去。Flink中的KeyBy底层其实就是通过Hash实现的,通过对Key的值进行Hash,再做一次murmurHash,取模运算。注意:数据如果具有相同的key将一定去往同一个分组和分区,但是同一分区中的数据不一定属于同一组。原创 2023-10-13 17:08:20 · 3080 阅读 · 0 评论 -
Flink 中的时间和窗口
Flink中的窗口并不是提前创建好了的,而是动态创建的,当有落在这个窗口区间范围 的数据达到时,才创建对应的窗口。简单来说,Flink是一个流式计算引擎,主要用来处理无界数据流的,数据源源不断、无穷无尽,想要方便高效的处理这种无界数据流,一种方式就是将这种无界数据划分为多个有界的"数据块",这其实就是窗口(Window)。时间窗口以时间点来定义窗口的开始(start)和结束(end),所以截取出的就是某一时间段的数据。通过上面的图我们可以看到,时间窗口的时间固定,计数窗口的计数固定。原创 2023-10-11 17:27:31 · 1253 阅读 · 2 评论