Apache Spark 结构化流中检查点和预写日志的说明

问题描述 投票:0回答:1

Apache Spark 结构化流文档中所谓的“检查点”和“预写日志”是什么?

如何更好地理解这些概念?

在理解这些术语之前,我是否应该学习奠定基础的先决条件?

apache-spark spark-structured-streaming checkpoint wal
1个回答
1
投票

简单的解释。

为了为结构化流提供弹性和容错能力,这依赖于检查点来确保流处理即使在节点发生故障时也可以不间断地继续。

Spark 为持久存储创建检查点,可以在云中(例如 Azure 存储或 Data Lake Storage),也可以在本地 HDFS 上创建。这些检查点存储有关流查询的进度信息。因此,检查点有助于构建容错且有弹性的 Spark 应用程序,例如驱动程序故障和工人故障。 然而,Sink(写入)需要以幂等方式处理,否则我们可能会多次写入/处理。

此外,Spark 结构化流使用 Write-Ahead Log (沃尔)。 WAL 捕获已接收到的摄取数据,但未捕获 尚未通过查询处理。如果发生故障且处理正在进行 从 WAL 重新启动,从源接收到的任何事件都不会 迷失了。

© www.soinside.com 2019 - 2024. All rights reserved.