使用下面的命令从Hive的托管表中删除分区时是否有任何方法可以跳过垃圾箱?
ALTER TABLE <table> DROP PARITION (<partition_name>)
与使用hadoop fs命令删除文件时的操作类似
hadoop fs -rmr -skipTrash
答案 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;