返回介绍

状态与容错

发布于 2025-05-02 18:19:13 字数 1015 浏览 0 评论 0 收藏

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

例如:

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

Flink 需要了解状态,以便使用 检查点 使状态容错,并允许流应用程序的 保存点

有关状态的知识还允许重新调整 Flink 应用程序,这意味着 Flink 负责跨并行实例重新分配状态。

Flink 的 可查询状态 函数允许您在运行时从 Flink 外部访问状态。

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

下一步

  • 使用状态 :显示如何在 Flink 应用程序中使用状态并解释不同类型的状态。
  • 广播状态模式 :解释如何将广播流与非广播流连接,并使用状态在它们之间交换信息。
  • 检查点 :描述如何启用和配置容错检查点。
  • 可查询的状态 :介绍如何从 Flink 之外运行期间访问状态。
  • 托管状态的 自定义序列化:讨论状态及其升级的自定义序列化逻辑。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。