python中pyspark和py4j包的兼容版本是什么

qmelpv7a  于 11个月前  发布在  Spark
关注(0)|答案(1)|浏览(258)

我正在尝试在本地设置pyspark
1.我已经启动了一个Spark会议
1.创建了一个名为people的视图
1.尝试通过以下命令读取视图

spark.sql("Select * From people")

字符串
它抛出下面的Py 4j异常;它看起来像一个版本不匹配错误:
Py 4JError:调用o24.sql时发生错误。
跟踪:
Py4j.Py4JException:方法sql([class java.lang.String,class [Ljava.lang.Object;])不存在
at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)
at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)
在py4j.Gateway.invoke(Gateway.java:274)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
在py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182)
在py4j.ClientServerConnection.run(ClientServerConnection.java:106)
at java.base/java.lang.Thread.run(Thread.java:1623)

  1. Spark版本:3.3.4
  2. Java版本:20.0.2
  3. Python:3.11.5
  4. Pyspark:3.5.0
  5. Py4j:0.10.9.7
    我尝试过不同版本的Pyspark和Py 4j的兼容性,但它们都不起作用。
xxls0lw8

xxls0lw81#

我建议你尝试这个问题的方法:[Error : py4j.Py4JException: Method sql(class java.lang.String, class [Ljava.lang.Object;]) does not exist
你的错误的根本原因似乎是spark和pyspark之间的不匹配。
我会这样做:

1.安装相同版本的pyspark和spark:

python -m pip install pyspark==3.3.4

字符串

2.再次查询

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("example").getOrCreate()
# Your code for creating the 'people' view or other operations

# Now try your SQL query again
spark.sql("SELECT * FROM people").show()

相关问题