zoukankan      html  css  js  c++  java
  • 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的关联表*/
    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*/
    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");  

  • 相关阅读:
    通过模板类简单实现Spark的JobServer
    aggregate 和 treeAggregate 的对比
    IntelliJ Idea 常用快捷键列表
    dataframe 数据统计可视化---spark scala 应用
    用java api读取HDFS文件
    .net Core 简单中间件使用
    .Net Core Ocelot网关使用熔断、限流 二
    .Net Core Ocelot网关使用 一
    Docker 问题处理
    CentOS 创建用户
  • 原文地址:https://www.cnblogs.com/charlist/p/7064013.html
Copyright © 2011-2022 走看看