PySpark:无法使用spark.sql读取hive orc表



使用spark将df写入hdfs:

df.write.partitionBy("date").mode("append").format("ORC").save("/tmp/table1")

在this (default.table1)的基础上创建了Hive External Table

我可以用直线读取这个表。

select * from default.table1; --> works fine

我可以使用spark读取这个文件夹

spark.read.orc("/tmp/table1").show()  # --> works fine

然而,当我使用spark读取这个hive表时,我得到错误:

spark.sql("select * from default.table1").show() # --> error

当我对这个表进行计数时,它也工作得很好:

spark.sql("select count(*) from default.table1").show() # --> works fine

另外,当我将spark df作为csv写入hdfs时,我在将其读取为spark时没有问题。sql(蜂窝)

下面是错误信息:

"Py4JJavaError:调用0192.showString.">

通过修复hive的ddl来解决这个问题。

必须包含

行WITH SERDEPROPERTIES…"确保hive文本能够读取spark

中的数据

最新更新