有没有办法在使用以下命令从 Hive 中的托管表删除分区时跳过垃圾箱?
ALTER TABLE <table> DROP PARITION (<partition_name>)
类似于我们在使用 hadoop fs 命令删除文件时所做的,例如
hadoop fs -rmr -skipTrash
试试这套。
设置 hive.warehouse.data.skiptrash=true;
如果有帮助,这里是一个用于在删除表时跳过垃圾的补丁。
https://issues.apache.org/jira/browse/HIVE-6469 它尚未被 hive 社区接受,但补丁应该适用于 HIVE-0.12 没有任何问题。HIVE-0.13 和主干的补丁也将在那里。希望能帮助到你。
No you can't
使用当前可用的配置单元版本来做到这一点。数据总是被移到垃圾箱,元数据永远丢失。
但是,默认情况下应将垃圾箱配置为在一天后删除数据。我想这对于大多数情况应该没问题。
尝试:
ALTER TABLE tablename DROP IF EXISTS PARTITION partionspec PURGE