邯郸做网站优化,注册规划师好考吗,wordpress 模板挂马,营销网络的建设是什么意思一、状态转换
map()
只适用于一对一的转换#xff0c;即对每个进入算子的流元素#xff0c;map() 将仅输出一个转换后的元素。
flatmap()
可以输出任意数量的元素#xff0c;也可以一个都不发。
二、Keyed Streams
keyBy()
相当于 sql 中的 group by#xff0c;通过…一、状态转换
map()
只适用于一对一的转换即对每个进入算子的流元素map() 将仅输出一个转换后的元素。
flatmap()
可以输出任意数量的元素也可以一个都不发。
二、Keyed Streams
keyBy()
相当于 sql 中的 group by通过 shuffle 来为数据流进行重新分区。
.keyBy(object - object.key)
能做作为 keyBy 的条件
结果是确定的实现了 hashCode 和 equals 方法
因此元组和 POJO 来组成键只要他们的元素遵循上述条件。
三、有状态的转换
1Flink 管理状态的优势 本地性: Flink 状态是存储在使用它的机器本地的并且可以以内存访问速度来获取持久性: Flink 状态是容错的例如它可以自动按一定的时间间隔产生 checkpoint并且在任务失败后进行恢复纵向可扩展性: Flink 状态可以存储在集成的 RocksDB 实例中这种方式下可以通过增加本地磁盘来扩展空间横向可扩展性: Flink 状态可以随着集群的扩缩容重新分布 2valueState
对于每个键 Flink 将存储一个单一的对象
open() 方法通过定义 ValueStateDescriptor? 建立了管理状态的使用。构造器的参数定义了这个状态的名字“name”并且为如何序列化这些对象提供了信息.
3清理状态
在无限增长的键中必须要清除不再使用的状态。
使用 key.clear()清理状态。
4connected Streams
额外增加一组控制流来控制某些转换例如数据流的阈值、规则或者其他参数等。 要求两个流的键一致即以相同的方式进行分区。