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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/UckyK/article/details/50543483

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



解决方案:

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里面的数据都注册一遍,包括已经注册过的。

 


 



展开阅读全文

没有更多推荐了,返回首页