Spark - 从配置单元查询时看不到 avro 数据

Spark - avro data not visible when queried from hive

我正在使用像

这样的 spark avro 创建数据框
dataframe.write.format("com.databricks.spark.avro").save(outputPath)

在我的例子中,输出路径类似于 hdfs 路径 + table_name + partition

table table_name 已经使用 AvroSerDe 在 hive 中创建,其中 LOCATION 设置为 outputPath。

但是,当我从配置单元中为 table_name 执行 select * 时,创建的数据框不可见。可能是什么问题

这里发生的事情是 .save 没有更新 Hive Metastore,因此您的查询中看不到新数据。

您可以尝试使用 dataframe.write().mode(SaveMode.Append).partitionBy("partition").saveAsTable("table_name") 将数据附加到您的 table。

ALTER Table ADD PARTITION 修复了问题