我在一组分区的镶木地板文件上定义了一个外部表,如下所示:
CREATE EXTERNAL TABLE foobarbaz (
src_file string,
[...]
temperature string
)
PARTITIONED BY (dt string)
STORED AS PARQUET
LOCATION '{1}'
如果我再跑步
df = spark.table(foobarbaz)
print(df.count())
我得到正确的非零结果。
如果我跑步
df = spark.table(foobarbaz)
df.show()
PySpark加注
py4j.protocol.Py4JJavaError:调用o95.showString时发生错误。 [...]原因:java.lang.UnsupportedOperationException
为什么?
答案 0 :(得分:0)
我发现了一个与我的情况有关的问题,该问题可能仍然与将来的读者有关。我使用镶木地板工具提取了架构。其中一列被列为int96
,因此在架构定义中,我天真地将int
类型用于此列。进一步调查发现,该列的类型为datetime
。更改架构定义相应地解决了该问题。