HBase0.98.1 通过协调器进行表的行数统计

1. 启用表aggregation,只对特定的表生效。通过HBase Shell 来实现

(1)disable指定表。hbase> disable 'student'

(2)添加aggregation hbase> alter 'student', METHOD => 'table_att','coprocessor'=>'|org.apache.hadoop.hbase.coprocessor.AggregateImplementation||'

(3)重启指定表 hbase> enable 'student'

2. Eclipse Code

  

package com.sc.hbase;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.coprocessor.AggregationClient;
import org.apache.hadoop.hbase.client.coprocessor.LongColumnInterpreter;
import org.apache.hadoop.hbase.util.Bytes;

public class HbaseTest {

private static final byte[] TABLE_NAME = Bytes.toBytes("student");
private static final byte[] CF = Bytes.toBytes("info");

public static void main(String[] args) {

Configuration configuration = HBaseConfiguration.create();
LongColumnInterpreter columnInterpreter = new LongColumnInterpreter();
AggregationClient aggregationClient = new AggregationClient(configuration);
Scan scan = new Scan();
// 指定扫描列族,唯一值
scan.addFamily(CF);
long rowCount;
try {
  rowCount = aggregationClient.rowCount(TableName.valueOf(TABLE_NAME), columnInterpreter, scan);
  System.out.println("row count is " + rowCount);
} catch (Throwable e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

}

}

 

转载于:https://www.cnblogs.com/xiaoliang-y/p/3749410.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值