我打算截断具有一个分区的配置单元外部表。因此,我使用以下命令截断该表:
hive> truncate table abc;
但是,它抛出了一个错误提示:无法截断非托管表abc。
有人可以建议我就同一件事...
答案 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;
此代码将删除所有文件并在外部文件夹位置创建一个空白文件,记录绝对为零。