2
當試圖顯示SparkDF(測試)時,我得到一個KeyError,如下所示。在Test.show(3)
之前使用的功能可能會出現問題。KeyError:在Google-Cloud-DataProc上的Jupyter上的pyspark上的'SPARK_HOME'
KeyError說:KeyError:'SPARK_HOME'。 我認爲SPARK_HOME沒有在主人和/或工人身上定義。有沒有一種方法可以在兩者上自動指定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'
添加初始化動作並沒有解決問題。我試圖把上面的代碼放在jupyter init動作中(沒有hashbang),並且還在jupyter init動作之前作爲單獨的init動作。 – Stijn
正如你所建議的,我創建了一個bash腳本(spark_home.sh),其中包含上面指定的內容。即使將此作爲初始化操作,我也會得到spark home錯誤。 'gcloud dataproc羣集創建羣集--zone = europe-west1-d --master-machine-type n1-standard-4 --master-boot-disk-size 100 --num-workers 2 --worker-machine-type n1-standard-2 --worker-boot-disk-size 50 --project myproject --bucket mybucket --initialization-actions gs://stijnbucket/sh/spark_home.sh --initialization-actions gs:// stijnbucket/sh/jupyter.sh' – Stijn
使用該初始化操作後,如果SSH進入主節點並鍵入'echo $ {SPARK_HOME}'它是否顯示爲至少爲登錄情況正確設置? –