摘要: 把flink当成一个服务器,中间计算状态开放rest服务供业务系统调用,不用在走数据库这种地方。 具体案例看这篇博客 https://caizhengjie.blog.csdn.net/article/details/115442928?spm=1001.2101.3001.6661.1&utm_m 阅读全文
posted @ 2022-01-15 17:50 习惯了蓝 阅读(32) 评论(0) 推荐(0)
摘要: 广播状态是为了支持一些用例,其中来自一个流的一些数据需要被广播到所有下游任务,在那里它被存储在本地并用于处理另一个流上的所有传入数据元。合并俩条流,一条控制流,一条消息流。 https://blog.csdn.net/m0_49834705/article/details/119414130 htt 阅读全文
posted @ 2022-01-15 17:13 习惯了蓝 阅读(36) 评论(0) 推荐(0)
摘要: flink中的计算分为有状态计算和无状态计算, 无状态计算每次只转换一条输入记录,并且只根据最新的输入记录输出结果。 有状态计算维护所有已处理的记录的状态值,并根据每条新输入的记录更新状态,因此输出记录反应的是综合考虑多个事件之后的结果。 无状态在这里不在赘述,这里来记录一下有状态计算。 flink 阅读全文
posted @ 2022-01-12 17:08 习惯了蓝 阅读(1069) 评论(0) 推荐(0)
摘要: 划分窗口就两种方式: 根据时间进行截取(time-driven-window),比如每1分钟统计一次或每10分钟统计一次。(time window) 根据数据进行截取(data-driven-window),比如每5个数据统计一次或每50个数据统计一次。(count window) 对于TimeWi 阅读全文
posted @ 2022-01-09 15:14 习惯了蓝 阅读(306) 评论(0) 推荐(0)
摘要: namenode datanode yarn spark flink 阅读全文
posted @ 2022-01-09 00:22 习惯了蓝 阅读(40) 评论(0) 推荐(0)
摘要: union,connect,Iterate,project union算子是把多个task的算子合并成一个算子,(注意这多个算子的类型是要一致的) DataStream* → DataStream ,下图是语法格式 dataStream.union(otherStream1, otherStream 阅读全文
posted @ 2022-01-08 23:26 习惯了蓝 阅读(81) 评论(0) 推荐(0)
摘要: flink在transformatin之后为了控制更小细粒度的分区,引入了物理分区功能的算子 分别是rebalance,shuffle,broadcast,rescaling,partitonCustom这五个 下面来一个个记录一下。 rebalance ,下游task分区会轮询的把每个上游task 阅读全文
posted @ 2022-01-08 22:16 习惯了蓝 阅读(233) 评论(0) 推荐(0)
摘要: reduce,sum,min,max,minby,maxby这几个算子都是对keyedStream算子进行滚动聚合使用,把keyedStream算子转换成DataStream类算子。换句话说,想要使用这几个算子,那么势必要先去用keyby算子进行分区,把数据塞进各自对应的管道里去。 reduce算子 阅读全文
posted @ 2022-01-08 17:31 习惯了蓝 阅读(182) 评论(0) 推荐(0)
摘要: Keyby点进去看源码,KeySelector是你new 的匿名内部类,重写getkey函数。 它主要是new 一个KeyedStream类(this就是上游的父dataStream,clean检测是不是序列化的) 进到keyStream里面,new了一个 PartitionTransformati 阅读全文
posted @ 2022-01-07 20:50 习惯了蓝 阅读(155) 评论(0) 推荐(0)
摘要: debug一下找到reduce算子的调用链,进到下图这个类里面 主要去看下图这个函数 1. 先拿到 这次进入的value 2.判断是不是在历史状态values里面,拿到历史聚合过的状态值。(这里就已经初步可以看出flink的基于状态是怎么回事了) 2.如果在的话,就调用你new 的reduceFun 阅读全文
posted @ 2022-01-07 18:42 习惯了蓝 阅读(149) 评论(0) 推荐(0)