You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark Structured Streaming Checkpoint中sources目录下‘0’文件夹的作用与生成逻辑

Spark Structured Streaming Checkpoint 中 sources 目录下数字文件夹解析

0 文件夹的作用

sources 目录下的 0 文件夹,是流作业中第一个数据源的专属状态跟踪目录。它内部以 batch_id 命名的文件(如 0、1、2),存储了对应批次里该数据源的已处理数据偏移量、消费进度等关键元数据。Spark 依赖这些信息实现 Exactly-Once 语义,重启作业时能精准从上次中断的位置继续处理,避免重复消费或数据丢失。

何时生成 1 文件夹?

当流作业接入第二个独立数据源时(比如用 join 关联两个不同流、或用 union 合并两个流),Spark 会自动在 sources 目录下创建 1 文件夹,专门跟踪第二个数据源的批次处理状态。

背后的设计意义

这种按数据源索引命名的目录结构,核心是为了适配多数据源流处理场景:

  • 每个数据源的处理进度独立存储,互不干扰,确保多流协作时各自的 Exactly-Once 语义不受影响;
  • 作业恢复时,Spark 可分别加载每个数据源的历史状态,精准还原整个流作业的运行上下文;
  • 清晰区分不同数据源的状态数据,方便排查单数据源的消费进度异常问题。

内容的提问来源于 stack exchange,提问作者 Praveen Kumar B N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:52:34