我试图查看 ALS.checkpointInterval
的功能,但这不是很解释。
设置ALS.checkpointInterval
和设置sc.setCheckpointDir()
有什么区别?两者都是必要的,还是它们的工作方式不同?
最佳答案
SparkContext.setCheckpointDir
用于设置全局检查点目录。它不仅限于ALS
或任何其他特定算法,而且是RDD.checkpoint
起作用所必需的。ALS.checkpointInterval
是特定于算法的属性,不会影响任何全局设置。从ML文档:
将这两件事放在一起:
val shouldCheckpoint: Int => Boolean = (iter) =>
sc.checkpointDir.isDefined &&
checkpointInterval != -1 &&
(iter % checkpointInterval == 0)