我有一个流作业,打算使用mapWithState
一步连续运行,因此需要配置检查点。我使用本地目录进行设置,因为此阶段仅在单个节点上运行。
我观察到检查点目录快速且持续地增长。在几天的过程中,它会增长到超过一百万个文件并耗尽磁盘上的inode。
答案 0 :(得分:0)
错误是sparkContext.checkpoint(checkpointDir)
而不是sparkStreamingContext.checkpoint(checkpointDir)
启用了检查点。
前者足以使Spark运行有状态流,而不是抱怨未启用检查点,但由于sparkStreamingContext.checkpointDir
为空,因此未调用流检查点的相应逻辑。