尝试运行命令时:
sbt/sbt assembly
我收到如下消息:
$ sbt/sbt assembly
-bash: sbt/sbt: No such file or directory
通过cgwin运行此命令时,我已经在目录/cygdrive/c/Users/llll/Downloads/spark-1.5.2-bin-hadoop2.4/spark-1.5.2-bin-hadoop2.4
中。我是否需要移动到其他目录才能运行此命令?我跑的时候也是:
./bin/pyspark
我收到错误消息:
Error: Could not find or load main class org.apache.spark.launcher.Main
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
作为PySpark的原始作者之一,我不建议在Cygwin中使用它。根据Python和Cygwin在您的计算机上的设置方式,您可能会遇到与Windows与Cygwin路径处理相关的问题。简而言之,当不同的进程(spark-submit
JVM,Spark shell / executor JVM,Python驱动程序和Python工作者)对如何处理路径不一致时,您会遇到问题。有关此问题的原始调查的更多背景信息,请参阅https://mail-archives.us.apache.org/mod_mbox/spark-user/201402.mbox/%3CCAOEPXP5VhVfBC3xVrLDzX0PJuWSnN7sMtjBdg2qG88znw=oF+A@mail.gmail.com%3E
那就是说,(据我所知)PySpark应该在非Cygwin Windows环境中工作。
对于sbt/sbt
问题,从您的文件路径判断,您看起来已经下载了Hadoop 2.4的Spark 1.5.2二进制发行版,它应该已经预先构建;在这种情况下,sbt/sbt assembly
是不必要的,并且不起作用,因为源文件和构建脚本未包含在二进制分发中。如果您想从源代码构建,则需要通过Git获取源代码检出或从Spark网站下载源代码存档。