之前做项目用的hive,本来功能什么的都好了,但是测试的时候不知道王里面加了多少数据,可能有5000W条,一张表。然后我现在用select * from tablename,或者select count(1) from tablename,根本就没有反映,一直在loding用select * from tablename limit 1,1,就可以出来结果请问这是杂回事情,怎么优化?是不是内存不足???求帮忙,今天我一定得解决这个问题阿我是用java 的jdbc来操作的,换到beeline上执行也是一样,一直loading
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
select *
是将所有数据load到内存,5000万数据量还是比较大的,加载到内存都是一个比较漫长的过程了。你可以试一下在该表建分区。查询的时候建议指定分区,或者像select * from tablename limit 1,1
这样做分页,并且建议用where条件过滤出需要的数据(如果有过滤条件的情况下),尽量避免全表查询。
添加回答
举报
0/150
提交
取消