为啥执行“sbt 程序集”失败并显示“不是有效的命令:程序集”?

Posted

技术标签:

【中文标题】为啥执行“sbt 程序集”失败并显示“不是有效的命令:程序集”?【英文标题】:Why does executing `sbt assembly` fail with "Not a valid command: assembly"?为什么执行“sbt 程序集”失败并显示“不是有效的命令:程序集”? 【发布时间】:2015-11-21 08:31:52 【问题描述】:

我正在尝试安装 spark,以便可以按照此处的指南在 ipython 笔记本中使用 spark: https://beingzy.github.io/tutorial/2014/10/13/spark-tutorial-Part-I-setting-up-spark-and-ipython-notebook-within-10-minutes.html

所以我下载了最新版本的 spark 1.5.2 并运行“构建 spark”部分。这是我得到的错误消息:

C:\Users\Administrator\Downloads\spark-1.5.2\sbt>sbt assembly
[info] Set current project to sbt (in build file:/C:/Users/Administrator/Downloa
ds/spark-1.4.0/sbt/)
[error] Not a valid command: assembly
[error] Not a valid project ID: assembly
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: assembly
[error] assembly
[error]         ^

我在 stakoverflow 上遇到了类似的问题。但是,最初的问题是在 Ubuntu 上,而我的问题是在 Windows 上。另外,我没有答案中建议的 spark-0.8.1-incubating 文件夹,因此该解决方案对我不起作用。

"./sbt/sbt assembly" errors "Not a valid command: assembly" for Apache Spark project

请帮忙!

【问题讨论】:

"./sbt/sbt assembly" errors "Not a valid command: assembly" for Apache Spark project的可能重复 这与链接问题中的问题完全相同。 @Reactomonk 但我没有名为 spark-0.8.1-incubating 的文件夹。我在窗户上。所以也许这是同一类问题,但我不知道我能做些什么来解决它。如果您知道,请分享。 你有一个叫spark-1.4.0(你确定你有1.5.2?) 哦。对不起,实际上我都试过了。结果都一样。 【参考方案1】:

原因是您在sbt 目录中执行sbt assembly,该目录不是 Spark 的 sbt 构建主目录(在您的情况下是C:\Users\Administrator\Downloads\spark-1.5.2)。

上一个目录,即C:\Users\Administrator\Downloads\spark-1.5.2,然后执行./sbt/sbt assembly

【讨论】:

以上是关于为啥执行“sbt 程序集”失败并显示“不是有效的命令:程序集”?的主要内容,如果未能解决你的问题,请参考以下文章

为啥执行“mvn clean package”来构建 Spark 失败并显示“某些 Enforcer 规则失败”?

为啥启动 StreamingContext 失败并显示“IllegalArgumentException:需求失败:未注册输出操作,因此没有可执行的操作”?

使用 udf 的 pyspark 出错:您必须使用 Hive 构建 Spark。导出 'SPARK_HIVE=true' 并运行 build/sbt 程序集

设置 sbt 程序集 v0.14.2 的问题

如何通过排除集成测试来运行 sbt 程序集

Spack 2.4.5 和 Scala 2.11 使用哪个版本的 Sbt 和 Sbt 程序集?