HBase协处理器实战

原创 2016年08月30日 19:13:55

1.协处理器介绍

 定义:hbase可以让用户的部分逻辑在数据存放端,即hbase服务端进行计算的机制(框架)。也就是说,协处理器允许用户在hbase服务器上允许自己的代码


因为hbase有一些不好的特性,比如无法轻易建立“二级索引”,以及难以执行求和,计数,排序等操作。引入协处理器后,可以轻易建立二级索引,以及访问控制等。


2.协处理器分类

系统协处理器可以全局导入Region Server上的所有数据表,表协处理器是用户可以指定一张表使用的协处理器。

从实现的角度,可分为:1.观察者(observer),类似关系数据库中的触发器;2.终端(endpoint),动态的终端有点像存储过程。


其中observer可分为四类:

  • Region Observer:允许处理Region上的事件
  • RegionServerObserver
  • MasterObserver
  • WalObserver
  Endpoint是动态RPC插件的接口,它的实现代码被安装在服务器端,从而能够通过HBase RPC唤醒。


3.演示endpoint 对表中某个列进行计数

因为允许用户在hbase服务器上允许自己的代码,所以在服务器端完成计算后将结果发送给客户端,可以减少数据传输的消耗。

首先在hbase的服务器端生成一个RPC服务,即在服务端对指定表的指定列值进行求和计算,并将计算结果返回给客户端。客户端调用该RPC服务,获取响应结果后输出。

我们要用到Protocol Buffer,先通过Protocol Buffer 生成RPC接口文件导入项目,再在新建类中编写服务端代码。

相关文章推荐

HBase协处理器实战

这篇文章主要介绍了HBase协处理的基本内容及分类,介绍proto buffer的安装与文件的编写,并通过实例的例子演示EndPoint的使用。 一、HBase协处理器简介 前几篇文章中都介绍过H...

HBase的协处理器编码实战

简要介绍HBase协处理器的用途及分类,并通过代码实例演示了HBase协处理器的基本使用方法。...

hbase-1.2.1之协处理器的源码学习

HBase中的协处理器:两种:observer和endpoint Observer: RegionServerObserver:钩子函数主要是针对对region的管理的,比如merge,writeWA...
  • mm_bit
  • mm_bit
  • 2016年07月28日 15:56
  • 693

HBase协处理器

1. 定义HBase可以让用户的部分逻辑在数据存放端及hbase服务端进行计算的机制(框架)。协处理器允许用户在hbase服务端上运行自己的代码。如SQL里面的求和、排序等操作。 主要有两种类型:O...

HBase协处理器

coprocessor
  • sima64
  • sima64
  • 2015年12月09日 00:00
  • 543

Hbase 协处理器 Coprocessor

Hbase 协处理器 CoprocessorCoprocessor简介HBase 是一款基于 Hadoop 的 key-value 数据库,它提供了对 HDFS 上数据的高效随机读写服务,完美地填补了...

HBase协处理器

1.起因(Why HBase  Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的( 2...

HBase 协处理器编程详解

本文详细地介绍了在 HBase0.98.11 版本下编写协处理器的细节,包括环境搭建和代码讲解。所有方法也适用于 HBase 1.0 版本。HBase 社区对于协处理器的文档一直比较缺乏,现有文档仅适...

用hbase(0.92版本以上)的协处理器实现快速返回查询结果总数

在0.92版本的hbase上添加了协处理器的功能,协处理器分为两大部分 endpoint和observer. observer相当于一个钩子的作用,根据钩子运行的模块来划分,又分成三个 Regio...

HBase协处理器

协处理器分两种类型,系统协处理器可以全局导入region server上的所有数据表,表协处理器即是用户可以指定一张表使用协处理器。协处理器框架为了更好支持其行为的灵活性,提供了两个不同方面的插件。一...
  • Moneywa
  • Moneywa
  • 2017年01月02日 00:07
  • 166
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HBase协处理器实战
举报原因:
原因补充:

(最多只允许输入30个字)