从Spark的DStreamCheckpointData,似乎检查点机制收集time要检查点的窗口并将其更新/写入检查点文件.我想特别了解几件事情:
在每个检查点间隔,它是否读取所有先前的检查点数据,然后更新当前状态?.如果是这样,当检查点状态变得非常大时,对性能的影响是什么,这肯定会减慢长时间运行的流上下文.
是否有任何一般规则或公式来计算不同数据摄取率,滑动窗口和批处理间隔的检查点间隔?
对于在这里有点笼统,我感到很抱歉,但是对于作业调度在内部如何在Spark中工作,我感到有些困惑。从这里的文档中,我了解到这是Hadoop Fair Scheduler的某种实现。
我无法四处了解用户到底是谁(Linux用户,hadoop用户,spark客户?)。我也无法理解此处如何定义池。例如,在我的hadoop集群中,我已将资源分配给了两个不同的池(让我们将它们称为团队1和团队2)。但是在Spark集群中,不同的池是否会实例化,并且其中的用户会实例化自己的Spark上下文?再次让我怀疑,当我将属性设置为spark.scheduler.pool时,我应该传递哪些参数。
我对驱动程序如何实例化spark上下文,然后将它们拆分为任务和作业有基本的了解。可能是我在这里完全没有指出要点,但我真的很想了解Spark的内部调度程序如何在操作,任务和工作的上下文中工作