当前位置: 首页 > wzjs >正文

安国市住房和城乡建设局网站在线玩传奇

安国市住房和城乡建设局网站,在线玩传奇,如何制作手机网站,盱眙网站建设&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦&#x1f91…

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


按键分区状态(Keyed State)顾名思义,是任务按照键(key)来访问和维护的状态。它的特点非常鲜明,就是以key为作用范围进行隔离。

需要注意,使用Keyed State必须基于KeyedStream。没有进行keyBy分区的DataStream,即使转换算子实现了对应的富函数类,也不能通过运行时上下文访问Keyed State。

1 值状态(ValueState)

顾名思义,状态中只保存一个“值”(value)。ValueState<T>本身是一个接口,源码中定义如下:

public interface ValueState<T> extends State {T value() throws IOException;void update(T value) throws IOException;}

这里的T是泛型,表示状态的数据内容可以是任何具体的数据类型。如果想要保存一个长整型值作为状态,那么类型就是ValueState<Long>。

我们可以在代码中读写值状态,实现对于状态的访问和更新。

  1. T value():获取当前状态的值;
  2. update(T value):对状态进行更新,传入的参数value就是要覆写的状态值。

在具体使用时,为了让运行时上下文清楚到底是哪个状态,我们还需要创建一个“状态描述器”(StateDescriptor)来提供状态的基本信息。例如源码中,ValueState的状态描述器构造方法如下:

public ValueStateDescriptor(String name, Class<T> typeClass) {super(name, typeClass, null);}

这里需要传入状态的名称和类型——这跟我们声明一个变量时做的事情完全一样。

2 列表状态(ListState)

将需要保存的数据,以列表(List)的形式组织起来。在ListState<T>接口中同样有一个类型参数T,表示列表中数据的类型。ListState也提供了一系列的方法来操作状态,使用方式与一般的List非常相似。

  1. Iterable<T> get():获取当前的列表状态,返回的是一个可迭代类型Iterable<T>;
  2. update(List<T> values):传入一个列表values,直接对状态进行覆盖;
  3. add(T value):在状态列表中添加一个元素value;
  4. addAll(List<T> values):向列表中添加多个元素,以列表values形式传入。

类似地,ListState的状态描述器就叫作ListStateDescriptor,用法跟ValueStateDescriptor完全一致。

3 Map状态(MapState)

把一些键值对(key-value)作为状态整体保存起来,可以认为就是一组key-value映射的列表。对应的MapState<UK, UV>接口中,就会有UK、UV两个泛型,分别表示保存的key和value的类型。同样,MapState提供了操作映射状态的方法,与Map的使用非常类似。

  1. UV get(UK key):传入一个key作为参数,查询对应的value值;
  2. put(UK key, UV value):传入一个键值对,更新key对应的value值;
  3. putAll(Map<UK, UV> map):将传入的映射map中所有的键值对,全部添加到映射状态中;
  4. remove(UK key):将指定key对应的键值对删除;
  5. boolean contains(UK key):判断是否存在指定的key,返回一个boolean值。

另外,MapState也提供了获取整个映射相关信息的方法;

  1. Iterable<Map.Entry<UK, UV>> entries():获取映射状态中所有的键值对;
  2. Iterable<UK> keys():获取映射状态中所有的键(key),返回一个可迭代Iterable类型;
  3. Iterable<UV> values():获取映射状态中所有的值(value),返回一个可迭代Iterable类型;
  4. boolean isEmpty():判断映射是否为空,返回一个boolean值。

4 归约状态(ReducingState)

类似于值状态(Value),不过需要对添加进来的所有数据进行归约,将归约聚合之后的值作为状态保存下来。ReducingState<T>这个接口调用的方法类似于ListState,只不过它保存的只是一个聚合值,所以调用.add()方法时,不是在状态列表里添加元素,而是直接把新数据和之前的状态进行归约,并用得到的结果更新状态。

归约逻辑的定义,是在归约状态描述器(ReducingStateDescriptor)中,通过传入一个归约函数(ReduceFunction)来实现的。这里的归约函数,就是我们之前介绍reduce聚合算子时讲到的ReduceFunction,所以状态类型跟输入的数据类型是一样的。

public ReducingStateDescriptor(String name, ReduceFunction<T> reduceFunction, Class<T> typeClass) {...}

这里的描述器有三个参数,其中第二个参数就是定义了归约聚合逻辑的ReduceFunction,另外两个参数则是状态的名称和类型。

http://www.dtcms.com/wzjs/820224.html

相关文章:

  • hdwiki做网站做网站的 简历
  • 统计局网站建设网站建设找谁
  • 外贸常用网站建设网站赚广告费是否可行
  • 学用php做网站做信息网站能挣钱吗
  • 网站建设方面论文论坛网站建设方案
  • 沈阳网站制作哪家好网站数据采集怎么做
  • 邢台网站制作哪里好企业网站空间选择
  • 网站建设长沙做网站赚钱流程
  • 网站权重查询网站建设主要做什么
  • 月子中心网站设计呢图网站
  • 在线编辑图片的网站有哪些网页设计有什么用
  • 一级a做爰片免费网站 视频网站建设 维护 运营情况报告
  • 网站设计公司 宁波如何做免费的网站
  • 自己搭建服务器 发布网站 域名如何申请黑龙江建设网网上办事大厅
  • 教育培训网站运营网站销售队伍建设与管理
  • 兖州那有做网站的网站开发实战第二章
  • 关于做网站的策划书在线玩网页游戏
  • 网站开发电脑内存要多少钱用插件做的炫酷网站
  • 网站为什么需要空间国外html5特效网站
  • 标准版网站制作工程建设标准下载网站
  • 云南城市建设职业学院成绩查询网站室内设计软件免费下载
  • 2345电视剧网站免费win10最强优化软件
  • 推荐几个网站图片网站交互设计的方法和技巧
  • 优秀地方门户网站系统公共资源交易中心工作总结
  • 登录自己网站的后台 wordpress广州网站开发网络公司
  • 建网站详细步骤公司装修费用怎么做账
  • 网站平台维护网站换友链平台
  • 机票酒店 网站建设福建seo关键词优化外包
  • 网站 权重做企业网站收费多少钱
  • 网站图片尺寸网站营销网站营销推广