scala.collections.mutable.ArrayBuilder和scala.collections.mutable.ArrayBuffer有什么区别?例如,如果我需要构建一个可以使用的Array [Int],那么?是否存在任何性能差异,例如java.lang.StringBuffer和java.lang.StringBuilder?
我正在编写一个简单的spark应用程序,它使用一些输入RDD,通过管道将它发送到外部脚本,并将该脚本的输出写入文件.驱动程序代码如下所示:
val input = args(0)
val scriptPath = args(1)
val output = args(2)
val sc = getSparkContext
if (args.length == 4) {
//Here I pass an additional argument which contains an absolute path to a script on my local machine, only for local testing
sc.addFile(args(3))
}
sc.textFile(input).pipe(Seq("python2", SparkFiles.get(scriptPath))).saveAsTextFile(output)
Run Code Online (Sandbox Code Playgroud)
当我在我的本地机器上运行它时工作正常.但是当我通过提交给YARN集群时
spark-submit --master yarn --deploy-mode cluster --files /absolute/path/to/local/test.py --class somepackage.PythonLauncher path/to/driver.jar path/to/input/part-* test.py path/to/output`
Run Code Online (Sandbox Code Playgroud)
它以一个例外而失败.
Lost task 1.0 in stage 0.0 (TID 1, rwds2.1dmp.ru): java.lang.Exception: Subprocess exited with status 2
Run Code Online (Sandbox Code Playgroud)
我尝试过管道命令的不同变体.例如,.pipe("cat") …
我想在List<Integer>via reduce中总结所有元素.
在Scala我可以写
val result = list.reduce(_ + _)
Run Code Online (Sandbox Code Playgroud)
有没有办法在Java8中以这种简洁的方式编写此操作?或者我应该这样写?
int result = list.reduce((x,y) -> x + y));
Run Code Online (Sandbox Code Playgroud)