Hbase 统计表行数的3种方式总结

有些时候需要我们去统计某一个Hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现。可以通过一下几种方式实现hbase表的行数统计工作:

1.count命令

最直接的方式是在hbase shell中执行count的命令可以统计行数。

[html] view plain copy

  1. hbase> count ‘t1′
  2. hbase> count ‘t1′, INTERVAL => 100000
  3. hbase> count ‘t1′, CACHE => 1000
  4. hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000

其中,INTERVAL为统计的行数间隔,默认为1000,CACHE为统计的数据缓存。这种方式效率很低,如果表行数很大的话不建议采用这种方式。

2. 调用Mapreduce

[plain] view plain copy

  1. $HBASE_HOME/bin/hbase   org.apache.hadoop.hbase.mapreduce.RowCounter ‘tablename’

这种方式效率比上一种要搞很多,调用的hbase jar中自带的统计行数的类。

3.hive over hbase

如果已经见了hive和hbase的关联表的话,可以直接在hive中执行sql语句统计hbase表的行数。

hive over hbase 表的建表语句为:

/*创建hive与hbase的关联表*/

[sql] view plain copy

  1. CREATE TABLE hive_hbase_1(key INT,value STRING)
  2. STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");

/*hive关联已经存在的hbase*/

[sql] view plain copy

  1. CREATE EXTERNAL TABLE hive_hbase_1(key INT,value STRING)
  2. STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:val")
  4. TBLPROPERTIES("hbase.table.name"="t_hive","hbase.table.default.storage.type"="binary");  
时间: 2024-10-26 21:32:46

Hbase 统计表行数的3种方式总结的相关文章

HBase统计表行数(RowCount)的四种方法

背景:对于其他数据存储系统来说,统计表的行数是再基本不过的操作了,一般实现都非常简单:但对于HBase这种key-value存储结构的列式数据库,统计 RowCount 的方法却有好几种不同的花样,并且执行效率差别巨大!下面来研究下吧~ 测试集群:HBase1.2.0 - CDH5.13.0 四台服务器 注:以下4种方法效率依次提高 一.hbase-shell的count命令这是最简单直接的操作,但是执行效率非常低,适用于百万级以下的小表RowCount统计! hbase> count 'ns1

eclipse基本设置----中文乱码、行数显示、缩进方式、行末空格和空行自动删除、常用注解

一.中文乱码 window系统下,Eclipse中导入新的项目的时候,可能会遇到中文乱码的问题. 解决方案:将系统默认的格式为GBK改成UTF-8.以下是具体解决方法,可以根据需要选择不同的方法. 1.设置整个工作空间的编码,此操作会影响整个工作空间的项目. 设置步骤:菜单栏window --  Preferences -- General -- Workspace --Text file encoding--Other --UTF-8,保存配置(Apply and Close). 2.设置项目

Hibernate 查询sql结果行数的几种方法

一.前言 这个东西,难度几乎没有,就是繁琐. 一条简单的select count(*) from table_name 都能有多种书写方式. 总是忘,这里记录下. 一 .通过Criteria 查询 Criteria criteriaCount = getCriteria(); criteriaCount = criteriaCount.add(Restrictions.eq("dispatchTaskId", dispatchTaskId)); criteriaCount.setPro

ELK5.4 修改分片数及分片分配方式

一.修改分片数 elasticsearch默认分片数为5,副本数为1.如果需要修改分片数有两种方式 1.修改索引settings 查看索引状态:curl -GET "http://localhost:9200/index/__settings" 修改索引状态信息: curl -XPUT 'localhost:9200/index/_settings' -d '{     "index" : {                    "number_of_r

数据导入HBase最常用的三种方式及实践分析

数据导入HBase最常用的三种方式及实践分析         摘要:要使用Hadoop,需要将现有的各种类型的数据库或数据文件中的数据导入HBase.一般而言,有三种常见方式:使用HBase的API中的Put方法,使用HBase 的bulk load工具和使用定制的MapReduce Job方式.本文均有详细描述. [编者按]要使用Hadoop,数据合并至关重要,HBase应用甚广.一般而言,需要 针对不同情景模式将现有的各种类型的数据库或数据文件中的数据转入至HBase 中.常见方式为:使用H

实现按行读取文件,把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。

/* 2 编写一个业务函数,实现按行读取文件.把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出. 函数原型有两个,任意选择其一 要求1:请自己任意选择一个接口(函数),并实现功能:70分 要求2:编写测试用例.30分 要求3:自己编写内存释放函数 */ /********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:ReadFi

执?行?o?r?a?c?l?e?函?数?的?四?种?方?法

1.在定义函数时:如果有参数,则参数可有类型但是不加长度. 2.在执行函数: var/variable var_name var_type(如果数据类型是number则没有长度,如果数据类型是varchar2,则可以写长度)                      call(此处不能用exec) 函数名(参数) into :var_name;                举例:         SQL>var dd varchar2          SQL>call get_sal(77

java打印等腰三角形的两种方法!(根据行数,根据底边长度)

首先来看根据用户输入的底边的长度判断: 1 package cn.edu.nwpu.java; 2 3 import java.util.Scanner; 4 5 public class IsoscelesTriangle { 6 7 public static void main(String[] args) { 8 // 打印输出等腰三角形 9 System.out.println("请输入等腰三角形的底边长度:"); 10 while (true) { 11 Scanner i

陈松松:三种方式教你打造一个行业内10万视频播放量

这是我写的第82篇原创视频营销文章 陈松松,6年视频营销实战经验 在任何一个行业内, 判断一个视频受不受欢迎, 不管是谁,第一个想到的就是视频播放量. 你的视频播放量高, 哪怕你的视频内容讲的不咋好,大家也觉得你专业你厉害. 你的视频播放量低, 哪怕你的内容讲的再好,大家也认为你不行,你不专业: 至于通过视频吸引了多少目标客户,这个大家根本就不关心. 既然视频播放量成为了一个参考标准, 那如何让自己的视频达到行业内最大的浏览量呢? 不同的行业判断标准不同, 有的行业非常热门,可能要按亿这个单位来