spark是如何使用堆栈的
本篇内容介绍了“spark是如何使用堆栈的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
网站是企业的互联网名片,是开展互联网业务基础平台。在目标明确的基础上,创新互联凭借团队丰富的设计经验完成网站的构思创意即总体设计方案,自成立以来,一直致力于为企业提供从申请域名、网站策划、网站设计、高端网站设计、电子商务、外贸网站制作、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。
spark进程是以JVM进程运行的,可以通过-Xmx和-Xms配置堆栈大小,它是如何使用堆栈呢?下面是spark内存分配图。
storage memory
spark默认JVM堆为512MB,为了避免OOM错误,只使用90%。通过spark.storage.safetyFraction来设置。spark通过内存来存储需要处理的数据,使用安全空间的60%,通过 spark.storage.memoryFraction来控制。如果我们想知道spark可以缓存多少数据?假设使用executors数为N,那么缓存数据为N*90%*60%*512MB。 ##shuffle memory shuffle memory的内存为“Heap Size” * spark.shuffle.safetyFraction * spark.shuffle.memoryFraction。默认spark.shuffle.safetyFraction 是 0.8 , spark.shuffle.memoryFraction是0.2 ,因此shuffle memory为 0.8*0.2*512MB = 0.16*512MB ##unroll memory unroll memory的内存为spark.storage.unrollFraction * spark.storage.memoryFraction * spark.storage.safetyFraction,即0.2 * 0.6 * 0.9 * 512MB = 0.108 * 512MB。unroll memory用作数据序列化和反序列化。
“spark是如何使用堆栈的”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
网页题目:spark是如何使用堆栈的
文章路径:http://hbruida.cn/article/gijpgo.html