Author: kwu

快速查询hive数据仓库中的条数,在查询hive表的条数,通常使用count(*),但是数据量大的时候,mr跑count(*)往往需要几分钟的时间。

1、传统方式获得总条数如下:

[sql]  view plain copy
  1. select count(*) from ods.tracklog;

运行时间为91.208s

2、与关系库一样hive表也可以通过查询元数据来得到总条数:

[sql]  view plain copy
  1. select d.NAME,t.TBL_NAME,t.TBL_ID,p.PART_ID,p.PART_NAME,a.PARAM_VALUE
  2. from TBLS t
  3. left join DBS d
  4. on t.DB_ID = d.DB_ID
  5. left join PARTITIONS p
  6. on t.TBL_ID = p.TBL_ID
  7. left join PARTITION_PARAMS a
  8. on p.PART_ID=a.PART_ID
  9. where t.TBL_NAME='tracklog' and d.NAME='ods' and a.PARAM_KEY='numRows';
  10. select FORMAT(sum(a.PARAM_VALUE),0)
  11. from TBLS t
  12. left join DBS d
  13. on t.DB_ID = d.DB_ID
  14. left join PARTITIONS p
  15. on t.TBL_ID = p.TBL_ID
  16. left join PARTITION_PARAMS a
  17. on p.PART_ID=a.PART_ID
  18. where t.TBL_NAME='tracklog' and d.NAME='ods' and a.PARAM_KEY='numRows';

只需0.071s即可返回

3、说明通过hive元数据的查询总条数,只适用于有partition的表,我们正式表基本都是有partition的,只有部分小表,小于1万条的没有partition,这种小表count(*)是非常快的。

快速查询hive数据仓库表中的总条数相关推荐

  1. mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写

    sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...

  2. 一对多的两个表,查询主表的信息和主表在子表中的记录条数

    看标题可能看的不明白.举例子来说 A表是班级表,字段:ID=班级编号,Name=班级名字 B表是学生表,字段:ID=班级编号,SID= 学生编号. 就是查询班级表的全部信息,然后也要查询出来班级表对应 ...

  3. mysql 查询条数优化_MySQL优化总结-查询总条数

    1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...

  4. mysql 查询数据条数_MySQL优化总结-查询总条数

    1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...

  5. 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

    文章目录 前言 一.问题说明 1.引入依赖 2.Mybatis-Plus配置 3.创建mapper层 4.编写xxxMapper.xml文件 5.测试一(不传任何条件,只分页) 5.1.结果总结 5. ...

  6. access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录

    这篇文章是对我自己另一篇文章的补充.( Access 查询同一张表中某个字段含有重复项的记录) 记录的动力总是来自于工作中遇到的问题.上次只要根据某个字段把有重复项的记录列出来,这次条件增多了,要根据 ...

  7. NET问答: Entity Framework 如何快速高效的删除表中所有记录 ?

    咨询区 Zhenia: 在 Entity Framework 中,如何快速高效的删除表中的所有行? 我目前是这样写的. var rows = from o in dataDb.Tableselect ...

  8. 不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...

    我期待从不同服务器连接两个不同的数据库.此外,我想运行一个查询,从两个数据库中获取数据到一个单一的结果.我正在使用mysql在PHP脚本中执行此操作.这里是如何很期待做[没有成功:)]如何连接多个数据 ...

  9. oracle查表字段长度,oracle中查询某张表中的字段名,字段类型,字段长度等信息...

    oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --更改某张表的字段类型长度 alter table bill_info modify IDCARD VARCHAR2 (30) ...

  10. MySQL期末考试题目 题目1:查询employee数据表中的第5—8行的数据;题目2:查询每个部门的员工人数以及平均工资;题目3:查询‘孙威’的基本信息,包括员工编号、所在部门名称、岗位等级以及基本

    上篇博客记录了我在mysql考试时遇到的报错,错过了考试时间[我不知道考试时间只有20分钟] 关于第二题,第三题,哪位大佬可以有点再简单的操作方法ma,或者其他方法,想学习学习,欢迎各位大佬指点指点! ...

最新文章

  1. 机器学习研究的七个迷思
  2. C语言----求解N以内的素数的两种典型方法以及其优化
  3. Redis 为什么默认 16 个数据库?
  4. java stringbu,Java String和StringBuilder常用方法,
  5. caffe的prototxt文件
  6. Android: AndroidStudio使用OpenCV-Native
  7. postgresql参数化查询_一个能融会贯通PostgreSQL监控的人,大概率是高手
  8. python语音识别框架_横评:五款免费开源的语音识别工具
  9. 【快速入门ORM框架之Dapper】大牛勿进系列
  10. RBAC权限模型库表设计
  11. ScrollView的学习
  12. Codeforces Round #510 (Div. 2) AB By cellur925
  13. mac 安装mysql
  14. 计算机怎么办错误,电脑日志错误怎么办
  15. Jmeter(五)bayboy录制时弹窗“当前页面的脚本发生错误”解决办法
  16. word一键生成ppt 分页_PPT插入word自动分页
  17. 极客爱情前传:程序员应该送什么礼物给女朋友
  18. 蓝牙4.0 OSAL层工作原理
  19. 贝叶斯公式理解(先验概率/后验概率)
  20. 00.奇特的一生--序言(笔记)

热门文章

  1. linux使用jinja2模板_flask中jinjia2模板使用详解2
  2. 记一次新旧系统数据迁移
  3. 从零开始搭建一个自己的脚手架
  4. html table冻结首行,Html Table的首行和首列冻结效果
  5. Navicat 15 premium手动备份数据库步骤
  6. 四旋翼电池、电机、螺旋桨选型与搭配
  7. fn键台式计算机在哪,fn键在哪?小鱼教您fn键使用方法
  8. 笔记本如何不按Fn键就能实现F键的功能
  9. 1.关于433MHz按键单片机解码
  10. java 100以内的偶数的和_java 2.3 循环语句计算100以内的偶数和(五种方法)