我正在运行此代码来显示数据框[df.show()]:
from pyspark.sql import *
spark=SparkSession.builder\
.appName("Hello Spark")\
.master("local[2]")\
.getOrCreate()
def spark_practice():
date_list = [("Ravi",28),
("David",45),
("Mani",27)]
df=spark.createDataFrame(date_list).toDF("Name","Age")
df.printSchema()
df.show()
spark_practice()
但是,我收到以下错误:
文件“C:\Program Files\Hadoop\spark-3.5.1\python\lib\py4j-0.10.9.7-src.zip\py4j\protocol.py”,第 326 行,在 get_return_value 中 py4j.protocol.Py4JJavaError:调用 o46.showString 时发生错误。 :org.apache.spark.SparkException:由于阶段失败而中止作业:阶段0.0中的任务0失败1次,最近一次失败:阶段0.0中丢失任务0.0(TID 0)(Prince-PC执行器驱动程序):org.apache .spark.SparkException:Python工作线程意外退出(崩溃)
我尝试将路径变量
PYSPARK_DRIVER_PYTHON
设置为最新版本的Python,与项目中使用的相同,但没有帮助。
将 python 从 python==3.12.1 降级到 python==3.11.8 应该可以解决此问题。另外,避免从 pyspark.sql 导入所有内容,您只需要:
from pyspark.sql.session import SparkSession