你好杰米 2018-04-16 00:37 采纳率: 87.5%
浏览 2095
已采纳

【急】hive表数据太多,普通的查询语句都用不了,求解决【应该很简单】

之前做项目用的hive,本来功能什么的都好了,但是测试的时候不知道王里面加了多少数据,可能有5000W条,一张表。
然后我现在用select * from tablename,或者select count(1) from tablename,根本就没有反映,一直在loding

用select * from tablename limit 1,1,就可以出来结果

请问这是杂回事情,怎么优化?是不是内存不足???
求帮忙,今天我一定得解决这个问题阿

我是用java 的jdbc来操作的,换到beeline上执行也是一样,一直loading

  • 写回答

4条回答 默认 最新

  • qdf_csdn 2018-04-16 06:58
    关注

    select *是将所有数据load到内存,5000万数据量还是比较大的,加载到内存都是一个比较漫长的过程了。你可以试一下在该表建分区。查询的时候建议指定分区,或者像select * from tablename limit 1,1这样做分页,并且建议用where条件过滤出需要的数据(如果有过滤条件的情况下),尽量避免全表查询。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了