Spark:内存使用情况

时间:2016-02-10 15:10:11

标签: apache-spark

我正在使用ps -p WorkerPID -o rss测量Spark中应用程序(WordCount)的内存使用情况。然而,结果没有任何意义。因为对于每个数据量(1MB,10MB,100MB,1GB,10GB),所使用的内存量相同。对于1GB和10GB数据,测量结果甚至小于1GB。 Worker是测量内存使用的错误过程吗? Spark Process Model的哪个进程负责内存分配?

1 个答案:

答案 0 :(得分:2)

与普遍看法相反,Spark不必将所有数据加载到主内存中。此外,WordCount是一个简单的应用程序,所需的内存量仅略微取决于输入:

  • 每个分区加载SparkContext.textFile的数据量取决于配置而非输入大小(请参阅:Why does partition parameter of SparkContext.textFile not take effect?)。
  • 键值对的大小与典型输入大致不变。
  • 如果需要,可以将中间数据溢出到磁盘。
  • 最后但并非最不重要的是执行程序使用的内存量受配置限制。

记住所有这些与你所看到的行为不同的行为会让人感到不安。

相关问题