问题类似于Passing command line arguments to Spark-shell。但是,我没有得到我想要的答案,所以我在下面重述我的问题。
我想使用以下命令在spark-shell中运行scala脚本:
spark-shell -i file.scale
没有任何程序参数,它运行良好。但是,如果我想为file.scale添加一些命令行参数。引用它在scala shell http://alvinalexander.com/scala/scala-shell-script-command-line-arguments-args中的方式,我尝试了以下方式:
spark-shell -i file.scale args1 args2
我尝试检索参数但是失败了如下
var input = args(0)
var output = args(1)
错误消息显示参数args
无法识别。
任何人都知道该怎么做?
答案 0 :(得分:3)
Scala和Spark-shell之间存在差异。 Spark-shell是scala的包装器并以分布式模式运行,因此参数传递与scala的工作方式不同。
要运行scala应用程序,请执行以下步骤
由于应用程序必须在Spark中以分布式模式运行,因此您将无法使用spark-shell将参数传递给scala脚本。