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

flink 键控状态(keyed state)

github开源项目flink-note的笔记。本博客的实现代码都写在项目的flink-state/src/main/java/state/keyed/KeyedStateDemo.java文件中。
项目github地址: github

1. flink键控状态

flink键控状态是作用与flink KeyedStream上的,也就是说需要将DataStream先进行keyby之后才能使用。键控状态会为每个key维护一份状态。flink支持五种键控状态,分别是:

  • ValueState: 维护一个值的状态,比方说我们要统计每个用户的购买次数,那么就先将流按照用户id进行keyby,然后维护一个类型为Integer的ValueState。 这个值可以被update(T)更新,使用T value()进行获取。
  • ListState :维护一个list的状态,可以使用 add(T) 、 addAll(List)、update(List)来更新列表状态中的值,使用Iterable get()来获取list中的值。
  • ReducingState 与ListState类似,只是将所有值都reduce出一个结果。
  • AggregatingState<IN, OUT> 与上面类似
  • MapState<UK, UV> 与上面类似

2. 键控状态的使用

KeyedStateDemo.java中,我们实现了如下的功能:
我们从socket中读取用户的行为日志ÿ

http://www.lryc.cn/news/25526.html

相关文章:

  • 【ChatGPT】sqlachmey 多表连表查询语句
  • win11 系统登录问题,PIN 设置问题
  • 数据结构六大排序
  • 快速生成QR码的方法:教你变成QR Code Master
  • tensorflow1.14.0安装教程--保姆级
  • AcWing算法提高课-3.1.3香甜的黄油
  • 私库搭建1:Nexus 安装 Docker 版
  • LeetCode-面试题 05.02. 二进制数转字符串【数学,字符串,位运算】
  • pandas: 三种算法实现递归分析Excel中各列相关性
  • 【Python百日进阶-Web开发-Vue3】Day543 - Vue3 商城后台 03:登录页面初建
  • python画直方图,刻画数据分布
  • 几何学小课堂:非欧几何(广义相对论采用黎曼几何作为数学工具)【学数学关键是要学会在什么情况下,知道使用什么工具。】
  • Ubuntu配置静态IP的方法
  • 90%的人都不算会爬虫,这才是真正的技术,从0到高手的进阶
  • 排序之损失函数List-wise loss(系列3)
  • js对象和原型、原型链的关系
  • 【SpringBoot高级篇】SpringBoot集成Sharding-JDBC分库分表
  • Shell特殊字符
  • 【计算机二级python】综合题目
  • 字节直播leader面
  • PIC 单片机的时钟
  • 【数据结构】关于二叉树你所应该知道的数学秘密
  • 哈希表题目:猜数字游戏
  • 项目请求地址自动加上了本地ip的解决方式
  • Vue3 企业级项目实战:项目须知与课程约定
  • 传导EMI抑制-Π型滤波器设计
  • 如何在excel中创建斐波那契数列
  • 遮挡检测--基于角度的遮挡检测方法
  • 【luogu CF1098D】Eels(结论)
  • 【java】遍历文件夹输出所有文件的文件名与绝对路径,在windows环境