Pyspark 命令无法识别

Posted

技术标签:

【中文标题】Pyspark 命令无法识别【英文标题】:Pyspark command not recognised 【发布时间】:2016-08-05 22:58:37 【问题描述】:

我安装了 anaconda,还下载了 Spark 1.6.2。我正在使用此答案中的以下说明为 Jupyter enter link description here 配置 spark

我已将 spark 目录下载并解压为

~/spark

现在当我 cd 进入此目录并进入 bin 时,我看到以下内容

SFOM00618927A:spark $ cd bin
SFOM00618927A:bin $ ls
beeline         pyspark         run-example.cmd     spark-class2.cmd    spark-sql       sparkR
beeline.cmd     pyspark.cmd     run-example2.cmd    spark-shell     spark-submit        sparkR.cmd
load-spark-env.cmd  pyspark2.cmd        spark-class     spark-shell.cmd     spark-submit.cmd    sparkR2.cmd
load-spark-env.sh   run-example     spark-class.cmd     spark-shell2.cmd    spark-submit2.cmd

我还在我的 .bash_profile 和 .profile 中添加了上述答案中提到的环境变量

现在在 spark/bin 目录中,我首先要检查的是 pyspark 命令是否首先在 shell 上工作。

所以我在执行完 cd spark/bin 后执行此操作

SFOM00618927A:bin $ pyspark
-bash: pyspark: command not found

按照我可以做的所有步骤后的答案

pyspark 

在任何目录的终端中,它应该启动一个带有火花引擎的 jupyter 笔记本。但是即使外壳中的 pyspark 也无法正常工作,忘记让它在 juypter notebook 上运行

请告知这里出了什么问题。

编辑:

我做到了

open .profile 

在主目录中,这是存储在路径中的内容。

export PATH=/Users/854319/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Users/854319/spark/bin
export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark

【问题讨论】:

您是否按照答案的第 8 步进行操作?将 bin 文件夹添加到 PATH 环境变量中? cd spark/bin 之后,$ ./pyspark 就可以了,你试过了吗 @rfkortekaas 是的,我遵循了答案的第 8 步。我的路径中的所有这些仍然无法正常工作 能否添加PATH的内容:'echo $PATH' @rfkortekaas 您好,请查看以下/Users/i854319/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/ texbin 我也尝试了 SANDHYALALKUMAR 的答案。它给出了一个错误:即使我已经安装了它,也没有安装 Java 运行时。是否需要重启电脑才能生效? 【参考方案1】:

1- 您需要设置JAVA_HOME 并触发shell 路径才能找到它们。在您的.profile 中设置它们后,您可能想要

source ~/.profile

激活当前会话中的设置。从您的评论中,我可以看到您已经遇到了JAVA_HOME 问题。

请注意,如果您有.bash_profile.bash_login.profile 将无法按照here 的描述工作

2- 当你在spark/bin 时,你需要运行

./pyspark

告诉shell目标在当前文件夹中。

【讨论】:

好的,我设置了这个,现在当我做 pyspark 时,它会打开一个 jupyter notebook。我不必做 ./pyspark .. 最后一件事 - 如果我只想在控制台上打开 pyspark 而不是打开笔记本怎么办。那么我们输入什么命令呢? 您需要清除PYSPARK_DRIVER_PYTHONPYSPARK_DRIVER_PYTHON_OPTS的设置。【参考方案2】:

这是我的环境变量,希望对你有所帮助:

# path to JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)

#Spark
export SPARK_HOME="/usr/local/spark" #version 1.6
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_SUBMIT_ARGS="--master local[2]"
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

^^ 如果您不希望笔记本启动,请删除 Pyspark_driver_python_opts 选项,否则您可以完全忽略它并在需要时在命令行中使用它。

我在另一行中有 anaconda vars 要附加到 PATH。

【讨论】:

帮助了特定的字符串export SPARK_HOME="/usr/local/spark" #version 1.6 ,但是我已经下载了源代码本身:/Users/iamtodor/programming/tools/spark-3.2.0-bin-hadoop3.2【参考方案3】:

对于在 MacOS Catalina 期间或之后来到这里的任何人,请确保您在 zshrc 而不是 bash 中建立/采购变量。

$ nano ~/.zshrc

# Set Spark Path
export SPARK_HOME="YOUR_PATH/spark-3.0.1-bin-hadoop2.7"
export PATH="$SPARK_HOME/bin:$PATH"

# Set pyspark + jupyter commands
export PYSPARK_SUBMIT_ARGS="pyspark-shell"
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='lab' pyspark

$ source ~/.zshrc

$ pyspark # 自动打开 Jupyter Lab 并初始化 PySpark。

【讨论】:

以上是关于Pyspark 命令无法识别的主要内容,如果未能解决你的问题,请参考以下文章

带有 conda 集成的 pySpark 抛出错误 pyspark 无法识别

PySpark UDF 无法识别参数数量

为啥 spark 无法识别我的“数据框布尔表达式”?

jpackage 命令无法识别

Heroku CLI 命令在安装后无法识别

为啥 Discord bot 无法识别命令?