1
使用Spark-SQL时,如何估算Spark Shuffle所需的内存和磁盘?如何估算Spark Shuffle所需的内存和磁盘?
SQL:
选择键,collect_set(值)由表-A组由密钥;
如果表-A具有N行,K键,每个键行为b个字节, 我可以使用C核,在那里估计内存和磁盘所需的火花洗牌的方法吗?
spark版本:2.1.0,使用基于排序的随机播放。
使用Spark-SQL时,如何估算Spark Shuffle所需的内存和磁盘?如何估算Spark Shuffle所需的内存和磁盘?
SQL:
选择键,collect_set(值)由表-A组由密钥;
如果表-A具有N行,K键,每个键行为b个字节, 我可以使用C核,在那里估计内存和磁盘所需的火花洗牌的方法吗?
spark版本:2.1.0,使用基于排序的随机播放。
没有作出有关键和值分布的任何假设最坏的情况将是:
K - 1
键只有一个值。N - K + 1
的唯一值。假设散列函数保持的属性,以及键芯之间均匀分布这给存储器
(((N - K + 1)/C + N - K + 1) * bytes) * serialization_efficiency
用于与最高负载的芯,其中峰的存储器需求应该正比于(如果数据可以否则从磁盘加载):
(N - K + 1) * bytes