2017-02-05 11 views
-2

私はSparkプログラムのリソース制限にぶつかっていたので、処理を反復に分割し、各反復の結果をHDFSにアップロードしたいと考えています。Sparkで2つのRDDをシリアルで処理するには?

do something using first rdd 
upload the output to hdfs 

do something using second rdd 
upload the output to hdfs 

しかし、私の知る限りでは、スパークは、並行して、これらの2を実行しようとします。 2番目のrddを処理する前に、最初のrddの処理を待つ方法がありますか?

+0

スパークは両方のRDDを同時に処理しようとしていますか?それは間違っている! – eliasah

+0

これはシリアルで処理されますか? – pythonic

+3

はい!あなたがそれをテストしたなら、あなたは知っているでしょう。 – eliasah

答えて

0

最初RDDの処理を待つ方法は、あなたが持っているRDD二RDD

を処理する前に、ありますので、なぜあなたは待ってから再度ディスクから読み取る必要がありますか?

RDDでいくつかの変換を行い、最初のアクションでディスクに書き込み、同じRDDで続行して2番目のアクションを実行します。

+0

できますが、私は自分のプログラムにさらに変更を加える必要があります。 – pythonic

+1

あなたはいくつかのコードを表示することができますが、 "第2のrdd"によって、あなたはそれが元の最初のもの –

1

私はあなたが混乱しているところを理解していると思います。 1つのRDD内では、パーティションは互いに並列に実行されます。ただし、2つのRDDは、(別途コーディングしない限り)連続して実行されます。

関連する問題