开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

无状态计算和有状态计算之间有什么区别?

无状态计算和有状态计算之间有什么区别?

展开
收起
云上静思 2021-11-15 19:00:25 1344 0
1 条回答
写回答
取消 提交回答
  • 无状态计算相对而言比较容易。假设这里有个加法算子,每进来一组数据,都把它们全部加起来,然后把结果输出去,有点纯函数的味道。纯函数指的是每一次计算结果只和输入数据有关,之前的计算或者外部状态对它不会产生任何影响。

    Flink 里边的有状态计算。用捡树枝的小游戏来举例。这个游戏在我看来做的非常好的一点是它自己记录了非常多的状态,比如几天没上线,然后再去和里边的 NPC 对话的时候,它就会告诉你已经有好久没有上线了。换句话说,它会把之前上线的时间作为一种状态给记录下来,在生成与 NPC 对话的时候,是会受到这个状态的影响。实现这种有状态的计算,要做的一点就是把之前的状态记录下来,然后再把这个状态注入到新的一次计算中。

    资料来源:《Apache Flink 必知必会》,下载链接:https://developer.aliyun.com/topic/download?id=1189 

    2021-11-16 15:04:47
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
用计算和数据去改变整个世界 立即下载
重新定义计算的边界 立即下载
函数计算事件驱动的无服务器计算服务 立即下载