Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何估计Spark Shuffle所需的内存和磁盘?_Apache Spark_Apache Spark Sql_Spark Dataframe_Shuffle - Fatal编程技术网

Apache spark 如何估计Spark Shuffle所需的内存和磁盘?

Apache spark 如何估计Spark Shuffle所需的内存和磁盘?,apache-spark,apache-spark-sql,spark-dataframe,shuffle,Apache Spark,Apache Spark Sql,Spark Dataframe,Shuffle,使用Spark SQL时,如何估计Spark Shuffle所需的内存和磁盘 SQL: 选择键,从表中按键分组收集集合(值) 如果表a有N行,K个键,每行是b字节, 我可以使用C内核,有没有办法估计spark shuffle所需的内存和磁盘 spark版本:2.1.0,使用基于排序的洗牌。在不对键和值分布进行任何假设的情况下,最坏的情况是: K-1仅具有单个值的键 1个键具有N-K+1唯一值 假设哈希函数的属性保持不变,并且密钥在内核之间均匀分布,这将提供内存 (((N - K + 1) /

使用Spark SQL时,如何估计Spark Shuffle所需的内存和磁盘

SQL:

选择键,从表中按键分组收集集合(值)

如果表a有N行,K个键,每行是b字节, 我可以使用C内核,有没有办法估计spark shuffle所需的内存和磁盘


spark版本:2.1.0,使用基于排序的洗牌。

在不对键和值分布进行任何假设的情况下,最坏的情况是:

  • K-1
    仅具有单个值的键
  • 1个键具有
    N-K+1
    唯一值
假设哈希函数的属性保持不变,并且密钥在内核之间均匀分布,这将提供内存

(((N - K + 1) / C  + N - K + 1) * bytes) * serialization_efficiency
对于具有最高负载的内核,峰值内存需求应与成比例(如果可以从磁盘加载数据):

(N - K + 1) * bytes