无状态计算相对而言比较容易。假设这里有个加法算子,每进来一组数据,都把它们全部加起来,然后把结果输出去,有点纯函数的味道。纯函数指的是每一次计算结果只和输入数据有关,之前的计算或者外部状态对它不会产生任何影响。
Flink 里边的有状态计算。用捡树枝的小游戏来举例。这个游戏在我看来做的非常好的一点是它自己记录了非常多的状态,比如几天没上线,然后再去和里边的 NPC 对话的时候,它就会告诉你已经有好久没有上线了。换句话说,它会把之前上线的时间作为一种状态给记录下来,在生成与 NPC 对话的时候,是会受到这个状态的影响。实现这种有状态的计算,要做的一点就是把之前的状态记录下来,然后再把这个状态注入到新的一次计算中。
资料来源:《Apache Flink 必知必会》,下载链接:https://developer.aliyun.com/topic/download?id=1189
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。