如何在Hive中截断分区的外部表?

时间:2018-11-12 06:52:01

标签: hive hive-partitions

我打算截断具有一个分区的配置单元外部表。因此,我使用以下命令截断该表:

 hive> truncate table abc; 

但是,它抛出了一个错误提示:无法截断非托管表abc。

有人可以建议我就同一件事...

2 个答案:

答案 0 :(得分:3)

首先为您的餐桌book.SaveAs(@"C:\Book1.xml"...

MANAGED

然后truncate

ALTER TABLE abc SET TBLPROPERTIES('EXTERNAL'='FALSE');

最后,您可以再次将其设置为外部:

truncate table abc;

答案 1 :(得分:0)

对此有一个更好的解决方案,基本上是单衬。

insert overwrite table table_xyz select * from table_xyz where 1=2;

此代码将删除所有文件并在外部文件夹位置创建一个空白文件,记录绝对为零。