Apache spark 星星点点
我需要了解在Spark中洗牌是如何发生的。洗牌是否是BYKEY操作中的性能开销。一般来说,对于RDD,洗牌将如何发生,以及配对RDD或联接洗牌将如何发生。如果您可以用RDD和配对RDD中的示例进行解释,那就太好了。在ByKey操作中发生的洗牌操作是一种开销,并且它会带来一组特定的密钥供特定的工作节点处理 当您执行groupByKey()和rdd.toDebugString时,您将看到rdd的各个阶段,在“groupByKey”的情况下,您将看到无序rdd 例如,假设您有3个节点:(假设数据是成对的RDD形式) 现在,如果在包含此数据的RDD上执行groupByKey,它将把所有类似的键放在一个节点下。因此,在对数据进行洗牌之后Apache spark 星星点点,apache-spark,shuffle,Apache Spark,Shuffle,我需要了解在Spark中洗牌是如何发生的。洗牌是否是BYKEY操作中的性能开销。一般来说,对于RDD,洗牌将如何发生,以及配对RDD或联接洗牌将如何发生。如果您可以用RDD和配对RDD中的示例进行解释,那就太好了。在ByKey操作中发生的洗牌操作是一种开销,并且它会带来一组特定的密钥供特定的工作节点处理 当您执行groupByKey()和rdd.toDebugString时,您将看到rdd的各个阶段,在“groupByKey”的情况下,您将看到无序rdd 例如,假设您有3个节点:(假设数据是成对
Node 1 -> Contains -> ("California", Iterable(("San Francisco", "SanJose")))
Node 2 -> Contains -> ("Utah", Iterable(("Salt Lake City", "St.George")))
Node 3 -> Contains -> ("Texas", Iterable(("Austin"), ("Dallas")))
您可以通过以下文章:
Node 1 -> Contains -> ("California", Iterable(("San Francisco", "SanJose")))
Node 2 -> Contains -> ("Utah", Iterable(("Salt Lake City", "St.George")))
Node 3 -> Contains -> ("Texas", Iterable(("Austin"), ("Dallas")))