一、Hive语句删除表,如果不加purge,虽然表会被删除,但是HDFS的文件数据会被放进回收站。 例如: 执行删除huey库下面的jokes_info表,因为没有加purge,所有HDFS的文件被放进了回收站。 droptablehuey.jokes_info; 这样的好处是可以在误操作的时候,进行恢复。 但是如果删除的表很大,又不需要恢复的时候,放进回收站就会很浪费空间。 虽然回收站可以设置清空时间,但是在重跑数据或者删除大不表,还会短时间占据空间。 建议: 如果删除的表很大,又不需要恢复的时候,尽量在DROP的时候加purge. 二、清空回收站 如果删除了表,并且HDFS文件放进了回收站,需要清空回收站,可以使用下面流程。 因为回收站是根据登录用户设置的,需要在删除表的时候,数据优先放进登录用户的回收站中。 1、使用hdfs用户查看hive用户回收站数据。 hdfsdfs-ls-Rhdfs://saas/user/hive/.Trash/Current/apps/hive/warehouse/huey.db/ 删除hive用户回收站数据 hadoopfs-rm-rhdfs://saas/user/hive/.Trash/Current/apps/hive/warehouse/huey.db/ 2、第一步是将hive回收站数据删除但是数据还是没有删除,而是移到了root用户下面,还需要删除root用户回收站数据。 hdfsdfs-ls-Rhdfs://saas/user/root/.Trash/Current/apps/hive/warehouse/huey.db/ 删除root用户回收站数据 hadoopfs-rm-rhdfs://saas/user/root/.Trash/Current/apps/hive/warehouse/huey.db/ 3、以上两部才能将回收站数据删除完成。