hive表计算总数不正确

goldenMoon 发布于 2017/11/14 15:23
阅读 692
收藏 0

NGINX社区官方微服务训练营,深入了解K8s网络,线上课程+专家答疑,立即加入>>>

我有一张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万。。。
每天计算也没有问题,但是计算整张表的数据就不行,即使加上分区限制求几天的数据总条数,算的也是不正确,一直不知道为什么,求大侠指导!谢谢

 

加载中
0
尚浩宇
尚浩宇

你得time格式好奇怪2017-11-11-06-5,6点5分?

尚浩宇
尚浩宇
回复 @goldenMoon : 我们这也是storm一直在从kafka里拿出去塞到hive里,不过现在改成spark了,区别在于我们直接用程序判断数据放到哪个分区,然后直接把数据塞到对应分区里,hive挂了无所谓,只要hadoop不挂就没事
goldenMoon
goldenMoon
猜测之一:是不是有topo(storm将kafka数据写到hive)一直在运行,而hive挂了,重启hive服务时没有关闭topo。 你们的hive挂了对数据没有影响吗?
尚浩宇
尚浩宇
回复 @goldenMoon : 感觉是分区字段的问题,我们是按天分区,没遇到过这个问题
goldenMoon
goldenMoon
10分钟一个分区,比如6点分区 06-0 06-1 06-2 06-3 06-4 06-5
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部