HIVE分区表指定location加载不到数据解决方案

指定了表的location但是select不出来数据,而目录确实存在hdfs上,如图所示(我这里面是2级分区)



HIVE分区表指定location加载不到数据解决方案_第1张图片

解决方案:

1、

Alter table test6 add 
partition (dt=20150422,pidid=60) location  ‘/data/dt=20150422/pidid=60’;

一个分区一个分区的添加,问题出现的原因是表没有添加到分区,,也就是没有注册,因为数据是我之前添加好的再创建表

hive> show partitions test6;
OK
Time taken: 0.65 seconds
hive> 

 

 2、

表指定location的时候,他只是把表的路径指定一个存储位置,原来有的数据他并不知道,之后你再添加的数据他知道,就像是注册一下,你以前的东西并没有注册,他不知道里面有数据。

msck repair table XXXX; 

命令就是把location里面的数据都注册一遍,包括已经注册过的。

 


 



你可能感兴趣的:(hive)