18.DataStream API之State & Fault Tolerance(Overview)

flink 1.8

State & Fault Tolerance

 

有状态函数和操作算子在各个元素/事件的处理过程中存储数据,使状态成为任何类型的复杂操作的关键构件。

例如

 

  • 当应用程序搜索某些事件模式时,状态将存储到目前为止遇到的事件序列。
  • 当按分钟/小时/天聚合事件时,状态持有这期间的聚合。
  • 当在数据流上训练机器学习模型时,状态保存模型参数的当前版本。
  • 当需要管理历史数据时,状态允许有效地访问过去发生的事件。

Flink需要知道状态,以便使用检查点checkpoints进行容错,并允许流应用程序进行savepoints

关于状态的知识还允许对Flink应用程序进行重新定义,这意味着Flink负责跨并行实例重新分布状态。

Flink的可查询状态queryable state特性允许您在运行时从Flink外部访问状态。

在处理状态时,了解Flink的状态后端Flink’s state backends可能也很有用。Flink提供了不同的状态后端,用于指定状态存储的方式和位置。状态可以位于Java堆内或堆外。根据您的状态后端,Flink还可以管理应用程序的状态,这意味着Flink处理内存管理(如果必要的话可能溢出到磁盘),从而允许应用程序保存非常大的状态。可以在不更改应用程序逻辑的情况下配置状态后端。

 

Where to go next?

 

 

https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/state/

https://flink.sojb.cn/dev/stream/state/

https://www.jianshu.com/p/9a53c1792c4a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值