如何将命令行参数传递给 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 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何将命令行参数传递给构建的 Mix Release

如何将命令行参数传递给 WinForms 应用程序?

如何将命令行参数传递给 c 程序

在 Eclipse(Pydev) 中将命令行参数传递给 Python 脚本

如何将命令行参数传递给 PowerShell ps1 文件

如何将命令行参数传递给 Node.js 程序?