SPARK MLlib检查点未从本地磁盘中删除随机文件

时间:2015-09-29 08:08:28

标签: scala apache-spark apache-spark-mllib lda

我正在应用MLlib LDA进行主题建模。我正在设置lda参数,如下所示:

lda.setOptimizer(optimizer)
  .setK(params.k)
  .setMaxIterations(params.maxIterations)
  .setDocConcentration(params.docConcentration)
  .setTopicConcentration(params.topicConcentration)
  .setCheckpointInterval(params.checkpointInterval)
  if (params.checkpointDir.nonEmpty) {
      sc.setCheckpointDir(params.checkpointDir.get)
  }

我在我当地的MacOS机器上运行LDA算法,在800,000英文文本文件(总大小9GB)的语料库中,我的机器有8个内核,16GB或RAM和500GB或硬盘。

以下是我的Spark配置:

val conf = new SparkConf().setMaster("local[6]").setAppName("LDAExample")
val sc = new SparkContext(conf)

当使用大量迭代(100)调用LDA时(即通过调用val ldaModel = lda.run(corpus)),算法开始在我的磁盘上创建随机文件,直到它填满为止

我正在使用spark-submit运行我的程序,如下所示:

spark-submit --driver-memory 14G --class com.mycompany.spark.ml.topicmodelling.LDAExample ./target/scala-2.10/lda-assembly-1.0.jar path/to/copurs/file --k 100 --maxIterations 100 --checkpointDir /path/to/checkpoints/directory --checkpointInterval 1

其中'K'是要提取的主题数,当迭代次数和主题都很小时一切都很好,但是当有大的迭代次数如100时,无论是什么值--checkpointInterval这个现象是相同的:磁盘将在大约25次迭代后填满。

一切似乎都正常运行,检查点文件是在我的磁盘上创建的,但是根本不会删除随机播放文件。

我使用Spark和MLlib 1.5.0,我的机器是Mac Yosemite 10.10.5。

非常感谢任何帮助。 谢谢

0 个答案:

没有答案