KeyError: 'SPARK_HOME' in pyspark on Jupyter on Google-Cloud-DataProc

KeyError: 'SPARK_HOME' in pyspark on Jupyter on Google-Cloud-DataProc

在尝试显示 SparkDF(测试)时,出现 KeyError,如下所示。可能是我之前用的函数出了问题 Test.show(3).

KeyError 显示:KeyError:'SPARK_HOME'。 我假设 SPARK_HOME 没有在主 and/or 工人上定义。有没有办法可以在两者上自动指定 SPARK_HOME 目录?最好使用初始化操作。

Py4JJavaErrorTraceback(最后一次调用) 在 () ----> 1 Test.show(3)

/usr/lib/spark/python/pyspark/sql/dataframe.py in show(self, n, truncate)
    255         +---+-----+
    256         """
--> 257         print(self._jdf.showString(n, truncate))
    258 
    259     def __repr__(self):

...

    raise KeyError(key)
KeyError: 'SPARK_HOME'

您可以简单地将以下内容放入初始化操作中:

#!/bin/bash

cat << EOF | tee -a /etc/profile.d/custom_env.sh /etc/*bashrc >/dev/null
export SPARK_HOME=/usr/lib/spark/
EOF

您需要在 jupyter 安装操作之前放置该 init 操作,以确保它在 jupyter 进程启动时存在。

编辑:要指定两个初始化操作,您可以将它们列在不带空格的逗号分隔列表中,如下所示:

gcloud dataproc clusters create \
    --initialization-actions gs://mybucket/spark_home.sh,gs://mybucket/jupyter.sh ...