做设计到哪个网站赚钱,怎样用网络挣钱,前端开发可以做网站赚钱吗,深圳短视频seo教程状态管理
在flink中#xff0c;算子可以分为无状态和有状态两种情况。 无状态的算子只需要观察每个独立事件#xff0c;根据当前输入的数据直接输出结果。像#xff1a;filter、flatMap、map都属于无状态的算子。 有状态的算子则是除当前数据之外#xff0c;还需要一些其他…状态管理
在flink中算子可以分为无状态和有状态两种情况。 无状态的算子只需要观察每个独立事件根据当前输入的数据直接输出结果。像filter、flatMap、map都属于无状态的算子。 有状态的算子则是除当前数据之外还需要一些其他数据来计算结果。这里说的其他数据其实就是指状态聚合算子窗口算子都应该算是有状态的算子。 状态也可以分为两种一种是算子状态一种是按键分区状态只有进行key 进行分组的
按键分区状态
值状态 值状态就是状态中只保存一个值列表状态 用List的形式存储状态主要有的方法get获取列表状态返回值迭代类型update更新list状态、add添加一个元素、addAll添加多个、clear清空Map状态 用map形式存储状态。规约状态聚合状态
状态生存时间
因为状态如果长时间保存会导致存储耗尽通过设置状态的ttl可以自动清除没有用的状态当状态在内存中存在的时间超过这个值就将它清除。
算子状态
在算子状态中一个子任务就是一个整体 主要几种类型列表状态、联合列表状态、广播状态 在算子状态中可以进行初始化后进行持久化防止异常退出时丢失算子状态 列表状态和联合列表状态区别在于并行度改变后如何重新分配list状态轮询均分给新的并行子任务unionlist状态原先多个子任务的状态合并成一份完成的分配给每个新的算子一整份。 广播状态可以作为配置流进行配置可以实时修改配置。
状态后端
状态后端分类 HashMapStateBacked (哈希表状态后端使用内存保存在TaskManager JVM堆默认使用) EmbeddedRocksDBStateBackend内嵌RocksDB状态后端kv存储持久化到磁盘数据存储需要序列化