我希望清空一个hive表中的数据,然后报错 Cannot truncate non-managed table
问题分析由其中的关键字可以看出**该表的数据不被hive管理(外表)**所以就无法truncate
问题解决那么如何清空外表的数据呢
由于外表数据是被hdfs管理的所以找到对应的文件删除即可
首先查看文件存储的位置 show create table table_name
然后删除该文件夹下的所有文件即可 hdfs dfs -rm -f 路径/*
但是删除了之后hive中管理的元数据还是存在
所以还是得drop一下
那么如何drop外表的同时也删除数据呢?
ALTER TABLE table_name SET TBLPROPERTIES ('external.table.purge'='true');



