当前位置:   article > 正文

hive的msck repair命令

msck repair

msck repair table tablename

修复表分区,常用于手动复制目录到hive表的location下,此时Hive元数据中没有记录到该目录是hive的分区,所以查不到该分区数据。

例子:

表test_tbl,存储路径为/user/hive/warehouse/test_tbl,分区字段为pt,正常添加分区是这样的:

alter table add if not exist partition (pt='20190101');

然后在hdfs中表的存储目录下会生成分区目录/user/hive/warehouse/test_tbl/pt=20190101,此时无论是往该目录新增数据文件还是往hive中insert数据,之后都可以在hive中查到该分区的数据。

但如果直接将一个文件夹名为pt=20190201的上传至hdfs的/user/hive/warehouse/test_tbl/路径下,在hive中是查不到分区pt='20190201'的数据的,就如前面所说,hive的metadata中没有记录到分区20190201这个分区,因此需要执行msck repair table命令修复。

此命令也常用于distcp数据之后修复表分区。

 

 

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

闽ICP备14008679号