如何在Spark中串行处理两个RDD?

时间:2017-02-05 19:12:04

标签: scala hadoop apache-spark

当我在Spark程序中达到资源限制时,我想将处理划分为迭代,并将每次迭代的结果上传到HDFS,如下所示。

do something using first rdd
upload the output to hdfs

do something using second rdd
upload the output to hdfs

但据我所知,Spark会尝试并行运行这两个。有没有办法在处理第二个rdd之前等待处理第一个rdd?

2 个答案:

答案 0 :(得分:1)

我想我明白你在哪里感到困惑。在单个RDD中,分区将彼此并行运行。但是,两个RDD将相继顺序运行(除非您以其他方式编写代码)。

答案 1 :(得分:0)

  

在处理第二个rdd之前,有没有办法等待处理第一个rdd

你有RDD,为什么你需要等待再次从磁盘读取?

在RDD上进行一些转换,在第一个操作中写入磁盘,然后继续使用相同的RDD执行第二个操作。