如何在使用alterdroppartition命令从托管表中删除分区时跳过垃圾

z4iuyo4d  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(275)

使用下面的命令从配置单元中的托管表中删除分区时,有没有跳过垃圾的方法?

ALTER TABLE <table> DROP PARITION (<partition_name>)

类似于使用hadoop fs命令删除文件时所做的操作,例如 hadoop fs -rmr -skipTrash

vmpqdwk3

vmpqdwk31#

试试这套。
设置hive.warehouse.data.skiptrash=true;

mqkwyuun

mqkwyuun2#

如果有帮助的话,这里有一个关于扔table时的小皮疹的补丁。
https://issues.apache.org/jira/browse/hive-6469 它还没有被Hive社区所接受,但是补丁应该应用到Hive-0.12没有任何问题。hive-0.13和trunk的补丁也会在那里。希望有帮助。

kkih6yb8

kkih6yb83#

No you can't 使用当前可用的配置单元版本执行此操作。数据总是被移动到垃圾箱,元数据永远丢失。
但是,默认情况下,垃圾箱应该配置为在一天之后删除数据。我想大多数情况下都可以。

mqxuamgl

mqxuamgl4#

尝试:

ALTER TABLE tablename DROP IF EXISTS PARTITION partionspec PURGE

相关问题