当前位置:   article > 正文

HDFS删除文件

hdfs删除文件

一.删除HDFS上的文件

需求:删除HDFS上的一个文件

代码:

-- 查看文件
hadoop fs -ls /user/hive/warehouse
-- 删除文件
hadoop fs -rm  /user/hive/warehouse/test.txt
  • 1
  • 2
  • 3
  • 4

测试记录:

[root@hp1 hue-httpd]# hadoop fs -ls /user/hive/warehouse
Found 2 items
drwxrwxrwt   - root hive          0 2020-11-25 19:15 /user/hive/warehouse/test.db
-rw-rw-rw-   3 root hive         16 2020-11-25 14:53 /user/hive/warehouse/test.txt
[root@hp1 hue-httpd]# 
[root@hp1 hue-httpd]# hadoop fs -rm /user/hive/warehouse/test.txt
20/11/26 10:35:24 INFO fs.TrashPolicyDefault: Moved: 'hdfs://nameservice1/user/hive/warehouse/test.txt' to trash at: hdfs://nameservice1/user/root/.Trash/Current/user/hive/warehouse/test.txt
[root@hp1 hue-httpd]# 
[root@hp1 hue-httpd]# hadoop fs -ls /user/root/.Trash/Current/user/hive/warehouse/
Found 1 items
-rw-rw-rw-   3 root hive         16 2020-11-25 14:53 /user/root/.Trash/Current/user/hive/warehouse/test.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

从上面测试的记录可以看到, 从hdfs上删除的文件,并没有直接被删除,而是移动到了回收站。
如果需要跳过回收站,直接删除,可以使用-skipTrash参数

-- 跳过回收站  直接进行删除
hadoop fs -rm -skipTrash /user/hive/warehouse/test.txt
  • 1
  • 2

二.HDFS的回收站

生产环境的hive中,经常大批量的加载及运算数据,例如清理一些临时表。但是清理了表之后,发现hdfs的空间并没有相对应的减少。如果需要收缩空间,可以考虑清空回收站。

生产环境谨慎使用,容易出问题

-- 清空hdfs的回收站
hdfs dfs -expunge
  • 1
  • 2

测试记录:
因为root权限不够,先通过sudo -u hdfs 切换到hdfs用户下

[root@hp1 hue-httpd]# sudo -u hdfs hdfs  dfs -expunge     
[root@hp1 hue-httpd]# 
  • 1
  • 2

参考

1.《Hadoop权威指南》
2.https://blog.csdn.net/abyslll/article/details/88313961

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44247
推荐阅读
  

闽ICP备14008679号