【发布时间】:2015-06-09 05:38:40
【问题描述】:
我正在通过 spark 运行一个简单的 jar,一切正常,但作为一种粗略的调试方式,我经常发现 println 非常有用,除非我真的必须附加调试器
但是,在 Spark 下运行时,println 语句的输出无处可寻。
jar 中的主类是这样开始的:
import ...
object SimpleApp {
def main(args: Array[String]) {
println("Starting up!")
...
为什么这么简单的事情没有显示在驱动程序进程中。
如果重要的话,我已经在本地以及在 Mesos 下测试了这个正在运行的 spark
更新
作为Proper way to provide spark application a parameter/arg with spaces in spark-submit 我已经简化了问题场景,我实际上是通过SSH 提交(使用spark-submit)命令。
实际值参数是来自 BigDataBenchmark 的查询,即:
"SELECT pageURL, pageRank FROM rankings WHERE pageRank > 1000"
现在远程 ssh 命令没有正确转义:
ssh host spark-submit ... "$query"
成为,在主机上:
spark-submit ... SELECT pageURL, pageRank FROM rankings WHERE pageRank > 1000
所以你有它,我所有的标准输出都进入了一个文件,而“正常”的火花输出仍然出现,因为它是标准错误,我现在才意识到。
【问题讨论】:
标签: scala jar apache-spark