accessLogs.saveAsTextFile(outputDirectory1)兩大RDDS保存並行
accessList.saveAsTextFile(outputDirectory2)
如何並行,而不是系列節省了RDD?
accessLogs.saveAsTextFile(outputDirectory1)兩大RDDS保存並行
accessList.saveAsTextFile(outputDirectory2)
如何並行,而不是系列節省了RDD?
您可以將它們保存爲線程。
new Thread() {
override def run(): Unit = {
accessLogs.saveAsTextFile(outputDirectory1)
}
}.start()
new Thread() {
override def run(): Unit = {
accessList.saveAsTextFile(outputDirectory2)
}
}.start()
saveAsTextFile
不會返回任何東西,所以我不確定爲什麼要設置返回值。
謝謝我的壞,沒有回報價值。它只是堅持不同的rdds到不同的文件。 –
import scala.concurrent._
import scala.concurrent.duration._
val rdds = Seq(accessLogs, accessLists)
val dirs = Seq("outputDirectory1", "outputDirectory2")
import ExecutionContext.Implicits.global
val future = Future.sequence(
for ((rdd, dir) <- rdds zip dirs) yield Future(rdd.saveAsTextFile(dir))
)
//Await.ready(future, Duration.Inf) //to wait for rdds to be saved...
注意,儘管名稱,上面使用將執行從Futures
並聯換理解所得,而不是順序地Future
伴侶對象上的方法sequence
。這種sequence
方法本質上是一個應用函子sequence
。
你需要分開還是想要有單個文件? – sb0709
如果我可能問這是什麼原因?有什麼收穫? – eliasah