apache Spark中RDD的高缓存大小

时间:2015-12-10 00:55:19

标签: apache-spark rdd

我正在读取一个约20MB的文本文件,由空格分隔的整数行组成,转换为RDD并缓存它。在观察缓存时,它在RAM上消耗了大约200MB! 我不明白为什么它会消耗如此高的RAM(x10)进行缓存?

val filea = sc.textFile("a.txt")
val fileamapped = filea.map(_.split(" ").map(_.toInt)) 
fileamapped.persist(org.apache.spark.storage.StorageLevel.MEMORY_ONLY)
fileamapped.collect()

我在本地交互模式(spark-shell)中运行Spark并从HDFS读取数据文件。

问题

  1. 缓存使用高RAM的原因是什么?
  2. 有没有办法可以直接从文件中读取整数,sc.textFile给我RDD [String]。
  3. 我用estimate()方法检查了fileamapped,它显示了大约64MB的大小,它是JAVA组件大小吗?
  4. 感谢,

0 个答案:

没有答案