在 Google 云 Dataproc 上安装 pyspark 导致 "could not find valid SPARK_HOME while searching['/tmp', '/usr/local/bin']"
Install pyspark on Google cloud Dataproc cause "could not find valid SPARK_HOME while searching['/tmp', '/usr/local/bin']"
我使用 Google Cloud Dataproc 创建了一个集群。我可以很好地向集群提交作业,直到我这样做
pip3 install pyspark
在集群上。之后,每次我尝试提交作业时,都会收到错误消息:
Could not find valid SPARK_HOME while searching ['/tmp',
'/usr/local/bin']
/usr/local/bin/spark-submit: line 27: /bin/spark-class: No such file or directory
我注意到即使在安装 pyspark 之前,SPARK_HOME 也没有设置任何内容。但是我可以很好地提交工作。我想知道为什么安装 pyspark 会导致此问题以及如何解决?
Pyspark 已预安装在 Dataproc 上——您应该调用 pyspark
命令而不是 python
。目前,尝试 pip install pyspark 或 py4j 将破坏 Dataproc 上的 pyspark。您还需要注意不要 pip 安装任何依赖于 pyspark/py4j 的包。我们知道这个问题:)
如果您只是想切换到 Python 3,目前最简单的方法是 运行 创建集群时的 miniconda 初始化操作:https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/blob/master/conda/。该 init 操作还方便地允许您指定要安装的额外 pip 或 conda 包。
我们还知道 pyspark
不在 PYTHONPATH
上用于 python 解释器。现在,如果您想要 运行 pyspark 代码,请使用 pyspark
命令。请注意,pyspark
命令来源 /etc/spark/conf/spark-env.sh
,如果您想在 python
shell 中 运行 import pyspark
,则必须手动执行此操作。
旁注:考虑 运行ning gcloud dataproc jobs submit pyspark
(docs) from your workstation or using Jupyter notebook.[=23=),而不是通过 SSH 连接到集群和 运行ning pyspark
]
brew install apache-spark
actually already provides a working pyspark shell. It is not necessary to additionally
pip install pyspark
我使用 Google Cloud Dataproc 创建了一个集群。我可以很好地向集群提交作业,直到我这样做
pip3 install pyspark
在集群上。之后,每次我尝试提交作业时,都会收到错误消息:
Could not find valid SPARK_HOME while searching ['/tmp', '/usr/local/bin']
/usr/local/bin/spark-submit: line 27: /bin/spark-class: No such file or directory
我注意到即使在安装 pyspark 之前,SPARK_HOME 也没有设置任何内容。但是我可以很好地提交工作。我想知道为什么安装 pyspark 会导致此问题以及如何解决?
Pyspark 已预安装在 Dataproc 上——您应该调用 pyspark
命令而不是 python
。目前,尝试 pip install pyspark 或 py4j 将破坏 Dataproc 上的 pyspark。您还需要注意不要 pip 安装任何依赖于 pyspark/py4j 的包。我们知道这个问题:)
如果您只是想切换到 Python 3,目前最简单的方法是 运行 创建集群时的 miniconda 初始化操作:https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/blob/master/conda/。该 init 操作还方便地允许您指定要安装的额外 pip 或 conda 包。
我们还知道 pyspark
不在 PYTHONPATH
上用于 python 解释器。现在,如果您想要 运行 pyspark 代码,请使用 pyspark
命令。请注意,pyspark
命令来源 /etc/spark/conf/spark-env.sh
,如果您想在 python
shell 中 运行 import pyspark
,则必须手动执行此操作。
旁注:考虑 运行ning gcloud dataproc jobs submit pyspark
(docs) from your workstation or using Jupyter notebook.[=23=),而不是通过 SSH 连接到集群和 运行ning pyspark
]
brew install apache-spark actually already provides a working pyspark shell. It is not necessary to additionally pip install pyspark