iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >flink中如何实现有状态stateful的计算
  • 438
分享到

flink中如何实现有状态stateful的计算

2023-06-02 15:06:41 438人浏览 独家记忆
摘要

小编给大家分享一下flink中如何实现有状态stateful的计算,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!import org.apache.fl

小编给大家分享一下flink中如何实现有状态stateful的计算,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

import org.apache.flink.api.common.functions.RichFlatMapFunctionimport org.apache.flink.api.common.state.ValueStateimport org.apache.flink.util.Collectorimport org.apache.flink.configuration.Configurationimport org.apache.flink.api.common.state.ValueStateDescriptorimport org.apache.flink.streaming.api.Scala.StreamExecutionEnvironment class CountWindowAverage extends RichFlatMapFunction[(Long, Double), (Long, Double)] {  private var sum: ValueState[(Long, Double)] = _  override def flatMap(input: (Long, Double), out: Collector[(Long, Double)]): Unit = {    // access the state value    val tmpCurrentSum = sum.value    // If it hasn't been used before, it will be null    val currentSum = if (tmpCurrentSum != null) {      tmpCurrentSum    } else {      (0L, 0d)    }    // update the count    val newSum = (currentSum._1 + 1, currentSum._2 + input._2)    // update the state    sum.update(newSum)    // if the count reaches 2, emit the average and clear the state    if (newSum._1 >= 2) {      out.collect((input._1, newSum._2 / newSum._1))      //将状态清除      //sum.clear()    }  }  override def open(parameters: Configuration): Unit = {    sum = getRuntimeContext.getState(      new ValueStateDescriptor[(Long, Double)]("average", classOf[(Long, Double)])    )  }}import org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentimport org.apache.flink.api.scala._object ECountWindowAverage {   def main(args: Array[String]): Unit = {  val env = StreamExecutionEnvironment.getExecutionEnvironment   env.fromCollection(List(      (1L, 3D),      (1L, 5d),      (1L, 7d),      (1L, 4d),      (1L, 2d)    )).keyBy(_._1)      .flatMap(new CountWindowAverage())      .print()          // the printed output will be (1,4) and (1,5)  env.execute("ExampleManagedState")  }}

以上是“flink中如何实现有状态stateful的计算”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: flink中如何实现有状态stateful的计算

本文链接: https://www.lsjlt.com/news/230416.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • flink中如何实现有状态stateful的计算
    小编给大家分享一下flink中如何实现有状态stateful的计算,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!import org.apache.fl...
    99+
    2023-06-02
  • nginx中状态统计如何实现
    今天小编给大家分享一下nginx中状态统计如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基本介绍ngx_http_s...
    99+
    2023-07-06
  • nginx中状态统计的实现
    基本介绍 ngx_http_stub_status_module:该模块提供了一个简单的页面,显示当前Nginx的基本状态统计信息,如活跃的连接数、请求处理数、请求延迟等,可以通过设...
    99+
    2023-05-15
    nginx 状态统计
  • 计算机如何进入睡眠状态
    计算机如何进入睡眠状态,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。电脑睡眠状态是电脑处于待机状态下的一种模式,可以节约电源,相对来说就是很“环保”,可以省去繁琐的开机过程...
    99+
    2023-06-20
  • vue如何实现动态的选中状态切换效果
    目录动态选中状态切换效果vue状态转换状态展示动态选中状态切换效果  HTML中的内容为以下。 <ul class="list">      <li v-...
    99+
    2024-04-02
  • 如何使用批处理实现计算机/网络设备状态监测脚本
    这篇文章主要为大家展示了“如何使用批处理实现计算机/网络设备状态监测脚本 ”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理实现计算机/网络设备状态监测脚本 ”这篇文章吧。以前自己写的...
    99+
    2023-06-09
  • Torch的动态计算图与静态计算图有何不同
    Torch的动态计算图与静态计算图的主要区别在于计算图的构建和执行时机。 在静态计算图中,用户先定义整个计算图的结构,然后再将数据输...
    99+
    2024-04-02
  • Java状态设计模式实现对象状态转换的优雅方式
    目录介绍实现总结优点缺点应用场景介绍 Java状态模式(State Pattern)是一种面向对象的设计模式,它将对象的状态封装成独立的状态对象,并将对象的行为与状态对象解耦,它允许...
    99+
    2023-05-17
    Java状态设计模式 状态模式实现对象状态转换
  • Go语言状态机如何实现
    这篇文章主要介绍“Go语言状态机如何实现”,在日常操作中,相信很多人在Go语言状态机如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言状态机如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-05
  • RocketMQ中broker server之如何实现状态管理
    这篇文章主要介绍RocketMQ中broker server之如何实现状态管理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!broker server在存储层之上,管理一个broker的状态,通过调用存储层Defau...
    99+
    2023-06-19
  • Python设计模式中如何使用状态模式实现编辑功能
    Python设计模式中如何使用状态模式实现编辑功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。功能介绍新增对象选择,连接线编辑功能。新增对象选择状态表示,连接...
    99+
    2023-06-19
  • Android Studio如何实现透明状态栏
    这篇文章主要介绍Android Studio如何实现透明状态栏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,...
    99+
    2023-06-14
  • react如何实现组件状态缓存
    这篇文章主要介绍“react如何实现组件状态缓存”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react如何实现组件状态缓存”文章能帮助大家解决问题。一、安装第三方库npm i ...
    99+
    2023-07-05
  • Flink中动态表上的连续查询怎么实现
    这篇文章主要介绍了Flink中动态表上的连续查询怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用SQL分析数据流越来越多的公司在采用流处理技术,并将现有的批处理应用程...
    99+
    2023-06-19
  • 如何实现基于React Hooks的状态共享
    这篇文章主要介绍了如何实现基于React Hooks的状态共享,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实现基于 React Hooks 的状态共享React 组件间的状...
    99+
    2023-06-22
  • Android项目中如何实现获取状态栏的高度
    这篇文章将为大家详细讲解有关Android项目中如何实现获取状态栏的高度,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法一:private double getStatusBarHeigh...
    99+
    2023-05-31
    android roi 目中
  • python的ping网络状态监测如何实现
    这篇文章主要讲解了“python的ping网络状态监测如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python的ping网络状态监测如何实现”吧!ping 基本概念ping (Pa...
    99+
    2023-07-05
  • PHP函数在云计算中的应用现状?
    php 函数在云计算中广泛应用,包括:数据操作:连接云数据库并执行数据库操作。文件操作:读写云存储服务中的文件。api 集成:调用云服务 api,例如 aws 和 azure。cli 应...
    99+
    2024-04-13
    云计算 php mysql
  • hadoop中分布式计算如何实现
    Hadoop中的分布式计算是通过将数据分片存储在多台计算机上,并同时在这些计算机上执行数据处理操作来实现的。Hadoop框架中有两个...
    99+
    2024-03-13
    hadoop
  • AndroidStudio如何实现BMI计算
    这篇文章将为大家详细讲解有关AndroidStudio如何实现BMI计算,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。xml代码```xml<TextView   &n...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作