gpt4 book ai didi

apache-spark - 如何让两个 Spark RDD 并行运行

转载 作者:行者123 更新时间:2023-12-04 05:26:12 25 4
gpt4 key购买 nike

例如,我在代码中创建了两个 RDD,如下所示:

val rdd1=sc.esRDD("userIndex1/type1")
val rdd2=sc.esRDD("userIndex2/type2")
val rdd3=rdd1.join(rdd2)
rdd3.foreachPartition{....}

我发现它们是串行执行的,为什么 Spark 不并行运行它们?
我的问题的原因是网络很慢,生成 rdd1 需要 1 小时,生成 rdd2 也需要 1 小时。所以我问为什么Spark没有同时生成两个RDD。

最佳答案

Spark 提供异步操作以异步运行所有作业,因此在您使用并行+并发运行所有计算的用例中可能会有所帮助。一次只会在 Spark 集群中计算一个 RDD,但您可以使它们异步。您可以在此处查看此 API 的 Java 文档 https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/rdd/AsyncRDDActions.html

还有一个关于它的博客在这里查看 https://blog.knoldus.com/2015/10/21/demystifying-asynchronous-actions-in-spark/

关于apache-spark - 如何让两个 Spark RDD 并行运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com