我是Spark Streaming的新手,对检查点中存储的checkpoint.Is流数据知之甚少?数据是存储在hdfs中还是存储在内存中?需要多少空间?
发布于 2021-01-13 23:11:43
流应用程序最重要的操作问题是故障恢复。错误是不可避免的:您将丢失集群中的一台机器,架构将在没有正确迁移的情况下意外更改,或者您甚至可能故意重新启动集群或应用程序。在这些情况下,结构化流允许您只需重新启动应用程序即可恢复该应用程序。为此,必须将应用程序配置为使用检查点和预写日志,这两种日志都由引擎自动处理。具体而言,您必须将查询配置为写入可靠文件系统(例如,HDFS、S3或任何兼容文件系统)上的检查点位置。然后,结构化流式传输将定期将所有相关进度信息(例如,在给定触发器中处理的偏移量范围)以及当前中间状态值保存到检查点位置。在发生故障的情况下,您只需重新启动应用程序,确保指向相同的检查点位置,它将自动恢复其状态,并从中断的位置开始处理数据。您不必代表应用程序手动管理此状态-结构化流会为您执行此操作。
我的结论是,它是作业进度信息和中间结果,其中存储在检查点而不是数据,检查点位置必须是HDFS兼容文件系统中的路径,所需空间基于中间生成的输出。
https://stackoverflow.com/questions/65703013
复制相似问题