我正在做一些单独的基于Spark提交应用程序的基于线程的工作。在客户端模式下,应用程序将等到scala future完成,而在集群模式下,应用程序将完成,而无需完成scala future任务。
我尝试了一些火花conf
--conf spark.yarn.submit.waitAppCompletion=true
scala未来要做一些单独的复制任务
val hdfsCopyProc = Process(Seq("hadoop" ,"distcp" ,"-overwrite", s"$filenameWithLocation" , s"$destinationLocation" ))
val hdfsCopyFut: Future[Process] = Future {
hdfsCopyProc.run
}
val aggFut = for{
hdfsCopyRes <- hdfsCopyFut
} yield (hdfsCopyRes)
aggFut onComplete{
case tr => println(tr)
}
但是在客户端模式下就可以了,唯一的问题是在群集模式下