方法showString([class java.lang.Integer,class java.lang.Integer,class java.lang.Boolean])在PySpark中不存在-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

方法showString([class java.lang.Integer,class java.lang.Integer,class java.lang.Boolean])在PySpark中不存在

社区小助手 2018-12-10 16:38:00 2503

这是片段:

from pyspark import SparkContext
from pyspark.sql.session import SparkSession

sc = SparkContext()
spark = SparkSession(sc)
d = spark.read.format("csv").option("header", True).option("inferSchema", True).load('file.csv')
d.show()
在此之后遇到错误:

An error occurred while calling o163.showString. Trace:
py4j.Py4JException: Method showString([class java.lang.Integer, class java.lang.Integer, class java.lang.Boolean]) does not exist

java不存在 javalang不存在 pyspark不存在 不存在integer classlang不存在
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:19:25

    这是Spark版本不匹配的指示器。在Spark 2.3 show方法之前只有两个参数:

    def show(self, n=20, truncate=True):
    从2.3开始,它需要三个参数:

    def show(self, n=20, truncate=True, vertical=False):
    在您的情况下,Python客户端似乎调用后者,而JVM后端使用旧版本。

    由于SparkContext初始化经历了2.4中的重大更改,这会导致失败SparkContext.__init__,您可能会使用:

    2.3.x Python库。
    2.2.x JAR。
    您可以通过直接从会话中检查版本来确认:

    sc.version
    与JVM:

    sc._jsc.version()
    像这样的问题通常是由于配置错误PYTHONPATH(直接或通过使用pip安装PySpark在现有的顶级Spark二进制文件上)或SPARK_HOME。

    1 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

相似问题
最新问题