通过spark-shell以静默模式执行scala脚本

Ren*_*han 5 scala apache-spark spark-shell

需要通过spark-shell以静默模式执行scala脚本。当我使用时spark-shell -i "file.scala",执行后,我进入了scala交互模式。我不想进入那里。

我尝试执行spark-shell -i“file.scala”。但我不知道如何在静默模式下执行脚本。

spark-shell -i "file.scala"
Run Code Online (Sandbox Code Playgroud)

执行后,我进入

scala>
Run Code Online (Sandbox Code Playgroud)

我不想进入该scala>模式

更新(2019 年 10 月)终止的脚本

这个问题也是关于运行一个终止的脚本,即一个由spark-shell -i script.scala > output.txt自己停止运行的“scala 脚本”(内部指令System.exit(0)终止脚本)。
请参阅这个问题并举一个很好的例子

它还需要一个“静音模式”希望不会污染环境output.txt

假设Spark v2.2+


PS:在很多情况下(通常是小工具和模块/算法测试)Spark 解释器可以比编译器更好......请,“让我们编译!” 这里没有答案。

rlu*_*uta 0

最好的方法是将你的 scala 代码编译成 jar 并使用spark-submit,但如果你只是在寻找快速迭代循环,你可以:quit在解析你的 scala 代码后简单地发出 a :

echo :quit | scala-shell -i yourfile.scala
Run Code Online (Sandbox Code Playgroud)