实木复合地板文件上的外部表。 .count()有效,.show()失败

时间:2019-07-04 12:04:40

标签: apache-spark hive pyspark hql hiveql

我在一组分区的镶木地板文件上定义了一个外部表,如下所示:

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

为什么?

full traceback

1 个答案:

答案 0 :(得分:0)

我发现了一个与我的情况有关的问题,该问题可能仍然与将来的读者有关。我使用镶木地板工具提取了架构。其中一列被列为int96,因此在架构定义中,我天真地将int类型用于此列。进一步调查发现,该列的类型为datetime。更改架构定义相应地解决了该问题。