我有一个很大的RDD,花了很多时间collect
。
我想让每个分区使用mapPartitionsWithIndex
将其内容写入文本文件。但这不是一种异步方法。
有没有人知道如何异步写出RDD内容?
答案 0 :(得分:6)
所有Spark RDD操作都是同步的。 AsyncRDDActions
提供了部分版本的异步版本,但不提供saveAsTextFile
。尽管如此,将它包装在Future
中是微不足道的:
def saveAsync(rdd: RDD[String], path: String) = concurrent.Future {
rdd.saveAsTextFile(path)
}