0

我正在使用 spark avro 创建数据框,例如

dataframe.write.format("com.databricks.spark.avro").save(outputPath)

在我的情况下,输出路径将类似于hdfs path + table_name + partitio n

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

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

4

2 回答 2

0

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

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

于 2017-03-29T21:20:38.417 回答
0

ALTER Table ADD PARTITION 修复了这个问题

于 2017-06-08T11:37:53.860 回答