首页 > 解决方案 > 如何使用 delta 目录在 hive 中创建分区和存储的外部表?

问题描述

我通过合并许多文件在 HIVE 中创建了一个分区和桶表。由于某些原因,无法从 HIVE 访问该表,可能它的元数据丢失了,尽管数据与分区、增量目录和存储桶一起存在。

我在 HIVE 中创建了一个指向该目录的外部表,即 /hive/warehouse/database/table 并运行MSCK REPAIR TABLE命令。但我无法在该表上运行任何查询,它会给出以下错误:

Failed with exception java.io.IOException:java.io.FileNotFoundException: 
wasb://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/hive/warehouse/cdr.db/cdr_main/district=XYZ is a directory 
not a file

该错误是由于分区文件夹中存在的增量目录造成的。那么,有没有办法修复表或其元数据,以便我可以使用数据而不是重做所有事情?

标签: azurehivehdfsexternal-tableshive-partitions

解决方案


推荐阅读