msck专题

2.Hive表结构变更时,滥用MSCK REPAIR TABLE语句,导致变更语句执行时间过长

1.分析原因         很多人可能都知道这个语句是用来修复分区的,但具体修复了什么,就说不上来了。 2.解决办法         搞清楚这个命令的作用就不会滥用了。 3.实战演习         (1)查看官方文档           (a)从这一段说明可以看出,元数据中存储着一个关于分区的列表,如果通过hadoop 命令或者其他方式(非hive命令)在hdfs上添加了分区,元数

关于使用msck修复hive分区,以及在添加分区缓慢的问题

1)需要修复的分区数量很大的解决办法 set hive.msck.repair.batch.size=1000; set hive.msck.path.validation=ignore; 第一个参数是设置每次插入到metaStore 分区的批量大小,加入有10000个待修复的分区 那么这里就是10000/1000 共计十个批次,默认如果不设置此参数会把所有数据全部发送到metastore 中执行

msck、invalidate metadata和refresh命令

hive 分区表msck命令 ​ 通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS put/cp命令往表目录下拷贝分区目录,如果目录多,需要执行多条alter语句,非常麻烦。Hive提供了一个"Recover Partition"的功能。具体语法如:MSCK REPAIR TABLE table_name; **Note:**分区的目