快速查询hive数据仓库表中的总条数
Author: kwu
快速查询hive数据仓库中的条数,在查询hive表的条数,通常使用count(*),但是数据量大的时候,mr跑count(*)往往需要几分钟的时间。
1、传统方式获得总条数如下:
- select count(*) from ods.tracklog;
运行时间为91.208s
2、与关系库一样hive表也可以通过查询元数据来得到总条数:
- select d.NAME,t.TBL_NAME,t.TBL_ID,p.PART_ID,p.PART_NAME,a.PARAM_VALUE
- from TBLS t
- left join DBS d
- on t.DB_ID = d.DB_ID
- left join PARTITIONS p
- on t.TBL_ID = p.TBL_ID
- left join PARTITION_PARAMS a
- on p.PART_ID=a.PART_ID
- where t.TBL_NAME='tracklog' and d.NAME='ods' and a.PARAM_KEY='numRows';
- select FORMAT(sum(a.PARAM_VALUE),0)
- from TBLS t
- left join DBS d
- on t.DB_ID = d.DB_ID
- left join PARTITIONS p
- on t.TBL_ID = p.TBL_ID
- left join PARTITION_PARAMS a
- on p.PART_ID=a.PART_ID
- where t.TBL_NAME='tracklog' and d.NAME='ods' and a.PARAM_KEY='numRows';
只需0.071s即可返回
3、说明通过hive元数据的查询总条数,只适用于有partition的表,我们正式表基本都是有partition的,只有部分小表,小于1万条的没有partition,这种小表count(*)是非常快的。
快速查询hive数据仓库表中的总条数相关推荐
- mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写
sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...
- 一对多的两个表,查询主表的信息和主表在子表中的记录条数
看标题可能看的不明白.举例子来说 A表是班级表,字段:ID=班级编号,Name=班级名字 B表是学生表,字段:ID=班级编号,SID= 学生编号. 就是查询班级表的全部信息,然后也要查询出来班级表对应 ...
- mysql 查询条数优化_MySQL优化总结-查询总条数
1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...
- mysql 查询数据条数_MySQL优化总结-查询总条数
1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数 ...
- 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题
文章目录 前言 一.问题说明 1.引入依赖 2.Mybatis-Plus配置 3.创建mapper层 4.编写xxxMapper.xml文件 5.测试一(不传任何条件,只分页) 5.1.结果总结 5. ...
- access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录
这篇文章是对我自己另一篇文章的补充.( Access 查询同一张表中某个字段含有重复项的记录) 记录的动力总是来自于工作中遇到的问题.上次只要根据某个字段把有重复项的记录列出来,这次条件增多了,要根据 ...
- NET问答: Entity Framework 如何快速高效的删除表中所有记录 ?
咨询区 Zhenia: 在 Entity Framework 中,如何快速高效的删除表中的所有行? 我目前是这样写的. var rows = from o in dataDb.Tableselect ...
- 不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...
我期待从不同服务器连接两个不同的数据库.此外,我想运行一个查询,从两个数据库中获取数据到一个单一的结果.我正在使用mysql在PHP脚本中执行此操作.这里是如何很期待做[没有成功:)]如何连接多个数据 ...
- oracle查表字段长度,oracle中查询某张表中的字段名,字段类型,字段长度等信息...
oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --更改某张表的字段类型长度 alter table bill_info modify IDCARD VARCHAR2 (30) ...
- MySQL期末考试题目 题目1:查询employee数据表中的第5—8行的数据;题目2:查询每个部门的员工人数以及平均工资;题目3:查询‘孙威’的基本信息,包括员工编号、所在部门名称、岗位等级以及基本
上篇博客记录了我在mysql考试时遇到的报错,错过了考试时间[我不知道考试时间只有20分钟] 关于第二题,第三题,哪位大佬可以有点再简单的操作方法ma,或者其他方法,想学习学习,欢迎各位大佬指点指点! ...
最新文章
- 机器学习研究的七个迷思
- C语言----求解N以内的素数的两种典型方法以及其优化
- Redis 为什么默认 16 个数据库?
- java stringbu,Java String和StringBuilder常用方法,
- caffe的prototxt文件
- Android: AndroidStudio使用OpenCV-Native
- postgresql参数化查询_一个能融会贯通PostgreSQL监控的人,大概率是高手
- python语音识别框架_横评:五款免费开源的语音识别工具
- 【快速入门ORM框架之Dapper】大牛勿进系列
- RBAC权限模型库表设计
- ScrollView的学习
- Codeforces Round #510 (Div. 2) AB By cellur925
- mac 安装mysql
- 计算机怎么办错误,电脑日志错误怎么办
- Jmeter(五)bayboy录制时弹窗“当前页面的脚本发生错误”解决办法
- word一键生成ppt 分页_PPT插入word自动分页
- 极客爱情前传:程序员应该送什么礼物给女朋友
- 蓝牙4.0 OSAL层工作原理
- 贝叶斯公式理解(先验概率/后验概率)
- 00.奇特的一生--序言(笔记)
热门文章
- linux使用jinja2模板_flask中jinjia2模板使用详解2
- 记一次新旧系统数据迁移
- 从零开始搭建一个自己的脚手架
- html table冻结首行,Html Table的首行和首列冻结效果
- Navicat 15 premium手动备份数据库步骤
- 四旋翼电池、电机、螺旋桨选型与搭配
- fn键台式计算机在哪,fn键在哪?小鱼教您fn键使用方法
- 笔记本如何不按Fn键就能实现F键的功能
- 1.关于433MHz按键单片机解码
- java 100以内的偶数的和_java 2.3 循环语句计算100以内的偶数和(五种方法)