如何使用alter drop partition命令从托管表中删除分区时跳过废纸篓

时间:2013-04-30 13:48:36

标签: hadoop hive hdfs

使用下面的命令从Hive的托管表中删除分区时是否有任何方法可以跳过垃圾箱?

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

与使用hadoop fs命令删除文件时的操作类似 hadoop fs -rmr -skipTrash

4 个答案:

答案 0 :(得分:1)

No you can't使用当前可用的配置单元版本执行此操作。数据始终移至垃圾箱,元数据永远丢失。

但是,默认情况下,垃圾箱应配置为在一天后删除数据。我想对大多数情况来说应该没问题。

答案 1 :(得分:1)

如果有帮助的话,这是在删除表时skipTrash的补丁。

https://issues.apache.org/jira/browse/HIVE-6469 它尚未被蜂巢社区接受,但补丁应该适用于HIVE-0.12而没有任何问题。 HIVE-0.13和躯干的补丁也将在那里。 希望它有所帮助。

答案 2 :(得分:1)

尝试:

CREATE FUNCTION LastNameFirst
(LastName varchar(50), FirstName varchar(50))
returns varchar(110)
begin
    declare Fullname varchar(110);
select CONCAT(LastName, ', ', FirstName) from prob5 return Fullname;

答案 3 :(得分:0)

试试这套。

SET hive.warehouse.data.skiptrash = true;