Spark SQL 无法输出数据帧

Posted

技术标签:

【中文标题】Spark SQL 无法输出数据帧【英文标题】:Spark SQL cannot output the dataframe 【发布时间】:2020-06-26 21:25:54 【问题描述】:

我尝试运行以下代码,但无法得到结果,如下所示的错误消息:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('hive').enableHiveSupport().getOrCreate()

list = spark.read.format("csv").option("header", "true").load(r"mypath/mydata.csv")
list.createOrReplaceTempView("mydata")
df = spark.sql("""select * from mydata""")

错误信息:

Traceback (most recent call last):

  File "<ipython-input-31-61851d7298cc>", line 1, in <module>
    df = spark.sql("""select * from mydata""")

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyspark\sql\session.py", line 767, in sql
    return DataFrame(self._jsparkSession.sql(sqlQuery), self._wrapped)

  File "C:\ProgramData\Anaconda3\lib\site-packages\py4j\java_gateway.py", line 1257, in __call__
    answer, self.gateway_client, self.target_id, self.name)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyspark\sql\utils.py", line 69, in deco
    raise AnalysisException(s.split(': ', 1)[1], stackTrace)

AnalysisException: 'java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;'

谁能帮我弄清楚如何解决这个问题,我正在使用 Spyder 和 Python 3.7。

谢谢!

【问题讨论】:

尝试不使用enableHiveSupport spark = SparkSession.builder.appName('hive').getOrCreate() 成功了,谢谢@Shu 【参考方案1】:

如果您不使用 enableHiveSuppprt,请删除它

spark = SparkSession.builder.appName('hive').getOrCreate()

【讨论】:

以上是关于Spark SQL 无法输出数据帧的主要内容,如果未能解决你的问题,请参考以下文章

Tableau + Spark SQL 连接器 + Java Spark 数据帧

Spark 1.6 数据帧缓存无法正常工作

雪花:SQL 访问控制错误:权限不足,无法对架构进行操作

Spark 数据框无法比较 Null 值

无法查询/选择通过Spark SQL插入的数据

无法查询/选择通过 Spark SQL 插入的数据