当我在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?
答案 0 :(得分:1)
我想我明白你在哪里感到困惑。在单个RDD中,分区将彼此并行运行。但是,两个RDD将相继顺序运行(除非您以其他方式编写代码)。
答案 1 :(得分:0)
在处理第二个rdd之前,有没有办法等待处理第一个rdd
你有RDD,为什么你需要等待再次从磁盘读取?
在RDD上进行一些转换,在第一个操作中写入磁盘,然后继续使用相同的RDD执行第二个操作。