2016-12-23 5 views
0

私はSpark RDDのrdd.foreachPartitionの内部で操作を実行する必要がありました。今私はforeachPartitionループ内で生成された新しいデータを保存したい。しかし、私は保存オプションはRDD(またはDataframe)でのみ利用可能だと思います。 foreachPartitionループ内に生成された新しいデータを保存する方法はありますか?spark rdd.foreachPatition内で変更されたデータを保存します

答えて

0

だけmapPartitionsを使用し、後で保存

lines.foreachRDD{ 
rdd => 

val newRDD => rdd.map(...) 

newRDD.foreachParition(iter => 
val newValues = iter.map(...) 

//I want to save newValues 
) 

} 

ありがとう::

newRDD.mapParitions(iter => 
    iter.map(...) 
).saveAsTextFile(...) 
私のコードはfolowsように見えます
関連する問題