当前位置:   article > 正文

删除外部表、删除表中部分分区及HDFS文件、数仓模型生命周期管理、HDFS存储资源管理

删除外部表

如果要删除干净外部表(正常删外部表是只删除表结构,元数据与hdfs文件不会删除)要先把外部表转换为内部表

hive -> ALTER TABLE app.app_th_report_share_cvr_di SET TBLPROPERTIES('EXTERNAL'='False');

hive -> drop table app.app_th_report_share_cvr_di;  --这样删表后hdfs文件也会删除。

 

删分区也一样,转成内部表再删分区会顺带删除hdfs文件

hive -> ALTER TABLE app.app_th_report_share_cvr_diDROP IF EXISTS PARTITION (dt<'2020-01-01');

 

需要对数仓模型进行生命周期管理时可以做成周期任务

ALTER TABLE app.app_th_report_share_cvr_di SET TBLPROPERTIES('EXTERNAL'='False');

ALTER TABLE app.app_th_report_share_cvr_di DROP IF EXISTS PARTITION (dt='2020-01-01);

 

又一次在用上面的方法删除hdfs文件时失败了。我当时直接用下面的语句把这个表2019的分区文件全部删除了。

hdfs dfs -rm -r hdfs://ns1/user/mart_ind/app.db/app_th_report_share_cvr_di/dt=2019*  

 

后边想到可能是分区不完整导致,修复分区后再删除分区即可把分区信息及hdfs文件全部删除。

msck repair table app.app_th_report_share_cvr_di

 

 

 

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

闽ICP备14008679号