Scala 并发rdd作业的parallelize list.map

Scala 并发rdd作业的parallelize list.map,scala,parallel-processing,apache-spark,Scala,Parallel Processing,Apache Spark,据发帖称 此代码将直接将所有作业提交给Spark的调度程序,您将获得一个“未来”返回的列表 我想知道加法是否会加快这个速度,如 RDDS.PA.MAP/< 或者,作者的意思可能是,每个映射条目都只是一个spark作业提交,按顺序运行它们也同样快。在提供的代码中,RDD将按顺序计算。在RDD上调用.collect时,将评估RDD转换,并在驱动程序中收集结果。在收集结果时,驱动程序被阻止 如果将其更改为 RDD.PAR.MAP {…} /COD>,则将并行调用“ .CODE < /Calp>S”,

据发帖称

此代码将直接将所有作业提交给Spark的调度程序,您将获得一个“未来”返回的列表

我想知道加法是否会加快这个速度,如 RDDS.PA.MAP/<
或者,作者的意思可能是,每个映射条目都只是一个spark作业提交,按顺序运行它们也同样快。

在提供的代码中,RDD将按顺序计算。在RDD上调用
.collect
时,将评估RDD转换,并在驱动程序中收集结果。在收集结果时,驱动程序被阻止


如果将其更改为<代码> RDD.PAR.MAP {…} /COD>,则将并行调用“<代码> .CODE < /Calp>S”,同时对所有RDDS进行评估。然后由Spark调度机制决定如何在RDD之间共享集群。

您阅读了线程的其余部分了吗?哪部分?关于未来,还是关于PAR?我读了。你想告诉我什么?你发布的代码不正确,不返回期货。它按顺序做每件事。我知道它不会返回期货,而且它按顺序做每件事。我认为,作者提出这一点是因为每个映射步骤只提交一个rdd作业,并快速返回do submit The next作业。我在问是否有人知道这是真的。如果内部rdd.map是同步的,那么Xin在他的帖子上就完全错了。我想知道这一点,但在他的下一篇文章之后,他马上告诉他,他的代码是错误的,对此他表示同意。他打算用未来(…)来包装一切。所以当你说“作者提出了这个”的时候,他实际上是想回报未来。他并没有真的提出你所说的,这正是我想要的。我刚刚得出了同样的结论。作者所讨论的并行化来自于使用Future。
val rdds: List[RDD[T]] = ...

val futures = rdds.map { rdd =>
  rdd.map(...).reduceByKey(...).collect()
}