5
votes

I'm planning to truncate the hive external table which has one partition. So, I have used the following command to truncate the table :

 hive> truncate table abc; 

But, it is throwing me an error stating : Cannot truncate non-managed table abc.

Can anyone please suggest me out regarding the same ...

2

2 Answers

6
votes

Make your table MANAGED first:

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

Then truncate:

truncate table abc;

And finally you can make it external again:

ALTER TABLE abc SET TBLPROPERTIES('EXTERNAL'='TRUE');
0
votes

There is an even better solution to this, which is basically a one liner.

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

This code will delete all the files and create a blank file in the external folder location with absolute zero records.