使用 pyspark 创建 spark 数据框时出现 Py4J 错误

新手上路,请多包涵

我已经用 python 3.6 安装了 pyspark,我正在使用 jupyter notebook 来初始化 spark 会话。

 from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("test").enableHieSupport.getOrCreate()

运行没有任何错误

但我写,

 df = spark.range(10)
df.show()

它抛出一个错误 –>

 Py4JError: An error occurred while calling o54.showString. Trace:
py4j.Py4JException: Method showString([class java.lang.Integer, class java.lang.Integer, class java.lang.Boolean]) does not exist
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)
    at py4j.Gateway.invoke(Gateway.java:272)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:214)
    at java.lang.Thread.run(Thread.java:745)

我不知道为什么我会遇到这个问题。

如果我做,

 from pyspark import SparkContext
sc = SparkContext()
print(sc.version)

'2.1.0'

原文由 Regressor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

我现在很高兴,因为我的 pyspark 遇到了完全相同的问题,并且我找到了“解决方案”。就我而言,我在 Windows 10 上运行。通过 Google 进行多次搜索后,我找到了设置所需环境变量的正确方法: PYTHONPATH=$SPARK_HOME$\python;$SPARK_HOME$\python\lib\py4j-<version>-src.zip Py4J 源包的版本在 Spark 版本之间发生变化,因此,检查您的 Spark 中有什么并相应地更改占位符。有关该过程的完整参考,请查看此站点: how to install spark locally

原文由 user_dhrn 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题