无法查看配置单元分区表中的数据

ioekq8ef  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(315)

我有一个外部表,它有一个名为rundate的分区列。我可以使用

DataFrame.write.mode(SaveMode.Overwrite).orc("s3://test/table")

然后我使用

spark.sql("ALTER TABLE table ADD IF NOT EXISTS PARTITION(rundate = '2017-12-19')")

代码运行良好,我可以看到分区。但我看不到配置单元表中的数据。

j8yoct9x

j8yoct9x1#

您没有将分区数据保存在正确的文件夹结构中,并且还手动添加了不存在数据的分区。
两件事:1。首先确保您正在创建外部表的位置保存数据,并且文件夹结构与配置单元预期的相同。e、 g假设外部表名为 table 分区列是 rundate ,分区值为 2017-12-19 外部表指向位置 s3://test/table . 然后保存分区数据 2017-12-19 具体如下:

DataFrame.write.mode(SaveMode.Overwrite).orc("s3://test/table/rundate=2017-12-19/")

2.保存成功后,使用下面的命令用最新添加的分区更新配置单元的元存储。

synatx: msck repair table <tablename>
msck repair table table

相关问题