根据文档:
洗牌溢出(内存)是内存中洗牌数据的反序列化形式的大小。
Shuffle 溢出(磁盘)是磁盘上数据的序列化形式的大小。
我对shuffle的理解是这样的:
For each existing partition: new_partition = hash(partitioning_id)%200; target_executor = new_partition%num_executors其中%是模运算符,num_executors 是集群上执行程序的数量。我对shuffle操作的理解是否正确?
您能帮我将 shuffle 溢出(内存)和 shuffle 溢出(磁盘)的定义放在 shuffle 机制的上下文中(如果正确的话,上面描述的)?例如(也许):“shuffle溢出(磁盘)是上面提到的第2点中发生的部分,其中200个分区被转储到各自节点的磁盘上”(我不知道这样说是否正确;只是举个例子)
apache-spark apache-spark-sql pyspark spark-ui spark-shuffle