Spark RDD内存占用

时间:2016-06-13 17:19:15

标签: apache-spark rdd memory-footprint

背景:

1,Spark 64核(执行程序),2节点,32核/每个,100GB内存/节点

2,1GB浮点二进制二进制数组

[   
 0.2, 0.6 ...
]    

3,操作:将每个Array单元格映射到元组列表,每个单元格复制5次,例如,

    ((id0, 0.2),(id1, 0.2), (id2, 0.2),(id3, 0.2),(id4, 0.2), (id5, 0.2), (id6, 0.6) ..... ) 
    id: is calculated based on some standard. 

从Spark UI,我发现导入数据大小为105GB(太大了?)。

在我的猜测中,15GB是一个粗略的数字。

    (1GB Array Data (Float) + 2 GB id (long) ) * 5 = 15GB
    * 5  because that each cell is repeated five times in my flatmap function.

Spark如何在内存中表示这些数据,为什么它如此大?

0 个答案:

没有答案