hive表分区的修复

hive从低版本升级到高版本或者做hadoop的集群数据迁移时,需要重新创建表和表分区,由于使用的是动态分区,所以需要重新刷新分区表字段,否则无法查看数据。

在hive中执行中以下命令即可自动更新元数据中的表分区:

 MSCK REPAIR TABLE 表名;

这个更高级,如果有直接删除hdfs文件,导致查询报错时,使用sync可以修复两边的不一致性。
MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];

 后记:

今天同事在测试从其他集群移过来的数据时,发现使用count统计记录数时显示为0.

由于没有分区字段,即是用了msck也不行,后来解决的方法是:

使用load命令再重新加载一次,load的源路径和目标路径可以相同。

posted @ 2018-01-08 11:32  硅谷工具人  阅读(3672)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。