需求:公司目前数仓分层中有一个层的数据基本废弃,只是每日做一个转手,类比中介。目前需要把近几年的该层数据删除,我们知道hive表的数据也是存储在hdfs中的目录结构下,删除hive表可以hive界面命令删除也可以直接hdfs命令rm(不建议)。特此记录下操作脚本。
查询数仓文件夹大小,按G单位,大小降序排序:
hdfs dfs -du -h /user/bigdata/hive/warehouse/xxx.db | grep "G" | sort -nrk 1 | head -n50
查询该数仓层总文件大小
hdfs dfs -du -s -h /user/bigdata/hive/warehouse/tdata.db
查询垃圾回收站总大小
hdfs dfs -du -s -h /user/bigdata/.Trash/...
清理垃圾站文件(rm慎用)
hdfs dfs -rm -r -f /xxx/.Trash/xxx.db/*
查询可以用hdfs dfs ,清楚数据最好通过hive改表
eg:
#hive
alter table 库名.表名 drop partition (分区字段< '20210501')