[英]Error as:-ModuleNotFoundError: No module named ‘pyspark’ While running Pyspark in docker
[英]Error while finding module specification for 'pyspark.worker' (ModuleNotFoundError: No module named 'pyspark')
我正在嘗試運行 pyspark 程序,但出現錯誤:
python.exe:查找“pyspark.worker”的模塊規范時出錯(ModuleNotFoundError:沒有名為“pyspark”的模塊)
SparkException:Python 工作人員無法重新連接。
代碼:
from pyspark.sql import SparkSession
from pyspark.sql import Row
import pyspark.sql.functions as func
spark = SparkSession\
.builder\
.appName("ReplaceNanByAverage")\
.config("spark.master", "local")\
.getOrCreate()
items = [(1,12),(1,float('Nan')),(1,14),(1,10),(2,22),(2,20),(2,float('Nan')),(3,300),
(3,float('Nan'))]
sc = spark.sparkContext
rdd = sc.parallelize(items)
itemsRdd = rdd.map(lambda x: Row(id=x[0], col1=int(x[1])))
df = itemsRdd.toDF()
我嘗試了很多建議的解決方案:
但我不斷收到同樣的錯誤。
我在 Windows 上的 PyCharm IDE 工作。
在本地下載並提取 spark 后,您可以嘗試在bash_Profile
或bashrc
中添加這些行,具體取決於您使用的是 mac 還是 linux? 注意:這是針對 spark 2.4.0 的,請根據本地安裝替換 spark 和 py4j 版本。
export SPARK_HOME=<prefix-to-spark-path>/spark-2.4.0-bin-hadoop2.7
export PYTHONPATH=${SPARK_HOME}/python:$PYTHONPATH
export PYTHONPATH=${SPARK_HOME}/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=<path-to-your-python>
export PYSPARK_DRIVER_PYTHON=<path-to-your-python>
PATH=$PATH:$SPARK_HOME/bin
請記住,linux 中的語法略有不同,因此請進行相應調整。 完成更改后,執行source ~/.bash_profile
或source ~/.bashrc
。 然后在您的 PyCharm 項目中使用您在上一個文件中鏈接的相同 python 解釋器。 那應該行得通。
我通過將 Python 從版本 3.6 升級到 3.7 解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.