azure - 如何使用 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
该错误是由于分区文件夹中存在的增量目录造成的。那么,有没有办法修复表或其元数据,以便我可以使用数据而不是重做所有事情?
解决方案
推荐阅读
- reactjs - 如何在 ReactJs 应用程序中使用 reduce() 而不是传统的 foreach 循环
- javascript - Slick Filter 不过滤,只是删除所有元素
- postgresql - 更新 jsonb 列以在一个嵌套键中添加字符串列表
- javascript - 如何在 Wtforms 中使用 SelectField 的值动态填充 StringField
- typescript - 如何在 vue-cli 项目上配置 eslint 才能正常工作
- next.js - 如何重定向到外部页面?
- ruby-on-rails - 如何在迁移中声明 belongs_to 不能为空?
- c - C中同一行上的可变输入量
- angular - 如何分离元素angular2+?
- c++ - Visual Studio C++ 编译器错误“查找预编译头文件时出现意外的文件结尾”,即使包含“pch.h”也是如此