zoukankan      html  css  js  c++  java
  • Flink状态

    Flink状态管理

    状态类型:KeyedState、OperatorState

    一、KeyedState

    KeyedState:基于KeyedStream上的状态。状态是跟key绑定的。每一个key对应一个state。所以用之前必须先分组。

    1.ValueState

    保存一个可以更新和检索的值。通过update(T)进行更新,通过T Value()进行检索。

    2.ListState

    保存一系列元素的列表。可以往这个列表中追加数据。

    添加元素:add(T)或add(List)

    获取整个列表:Iterable get()

    更新:update(List),更新当前的列表

    3.MapState

    维护了一个映射列表。可以添加键值对到状态中,可以获得所有键值对放入迭代器。

    更新状态中的元素:put(uk,uv)或putAll(Map<uv,uk>)

    遗留问题:MapState添加值后需要更新,如何显性更新MapState。

    4.ReducingState

    保存一个单值,表示添加到状态的所有聚合。接口与ListState类似,使用add()增加元素,使用提供的ReducFunction进行聚合。

    5.AggregatingState

    保留一个单值,表示添加到状态的所有聚合。接口与ListState类似,使用add()增加元素,会使用AggregateFunction进行聚合。

    6.FoldingState

    保存一个单值,表示添加到状态的所有值的聚合。与ReducingState相反,聚合类型能与添加到状态的元素类型不同。与ListState类型相同,但使用add()添加元素会用指定的FoldFunction折叠整聚合值。

  • 相关阅读:
    vector的几种初始化和遍历
    剑指offer39 平衡二叉树
    和为s的两个数字
    c++参数传递的三种方式
    剑指offer40
    剑指offer28 字符串的排列
    PASCAL VOC数据集分析
    fast rcnn的实例
    cocos2dx下的A星算法
    vncserverpassword改动
  • 原文地址:https://www.cnblogs.com/yangyh11/p/14209419.html
Copyright © 2011-2022 走看看