如何将命令行参数传递给 spark-shell scala 脚本?
Posted
技术标签:
【中文标题】如何将命令行参数传递给 spark-shell scala 脚本?【英文标题】:How to pass the command line argument to spark-shell scala script? 【发布时间】:2016-01-13 02:39:35 【问题描述】:问题类似于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
无法识别。
有人知道怎么做吗?
【问题讨论】:
***.com/questions/29928999/… 的副本。这个答案有效:***.com/a/30948834/1442961 Passing command line arguments to Spark-shell的可能重复 【参考方案1】:Scala 和 Spark-shell 之间存在差异。 Spark-shell 是 scala 的包装器并以分布式模式运行,因此参数传递的工作方式与 scala 不同。
要运行 scala 应用程序,您需要遵循以下步骤
开发 Scala 应用程序 构建 jar 文件 运行 spark-submit 命令,获取 jar 文件、类名和参数由于应用程序必须在 Spark 中以分布式模式运行,您将无法使用 spark-shell 将参数传递给 scala 脚本。
【讨论】:
以上是关于如何将命令行参数传递给 spark-shell scala 脚本?的主要内容,如果未能解决你的问题,请参考以下文章