hive表计算总数不正确
我有一张hive表,按照时间分区(分区字段time),有几天的数据
select count(*) from table_Name;
结果显示320多万数据,这明显不正确
select count(*),time from table_Name group by time order by time;
结果计算每个分区的条数,只算到了96个分区的数据,后面的每个分区条数没有计算。
为了看后面的一个分区是不是不能计算,
select count(*) from table_Name where time='2017-11-11-06-5';
显示28361条数据。
后来计算每天的条数
select count(*) from table_Name where time between time1 and time2;
数据分别是214万多 ,232万,327万,753万。。。
每天计算也没有问题,但是计算整张表的数据就不行,即使加上分区限制求几天的数据总条数,算的也是不正确,一直不知道为什么,求大侠指导!谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
10分钟一个分区,比如6点分区 06-0 06-1 06-2 06-3 06-4 06-5
回复
感觉是分区字段的问题,我们是按天分区,没遇到过这个问题
猜测之一:是不是有topo(storm将kafka数据写到hive)一直在运行,而hive挂了,重启hive服务时没有关闭topo。 你们的hive挂了对数据没有影响吗?
回复
我们这也是storm一直在从kafka里拿出去塞到hive里,不过现在改成spark了,区别在于我们直接用程序判断数据放到哪个分区,然后直接把数据塞到对应分区里,hive挂了无所谓,只要hadoop不挂就没事
你得time格式好奇怪2017-11-11-06-5,6点5分?