Hbase协处理器实战笔记

本文介绍了Hbase的协处理器机制,包括RegionObserver和Endpoint的使用。RegionObserver提供了客户端数据操纵事件的钩子,而Endpoint作为动态RPC插件,允许在服务器端执行代码。文章详细阐述了这两者的实现步骤,并给出了一个具体的计数功能的客户端和服务器端示例。
摘要由CSDN通过智能技术生成

  • 协处理器介绍

定义:

HBase可以让用户的部分逻辑在数据存放端及hbase服务端进行计算的机制(框架)。协处理器允许用户在hbase服务端上运行自己的代码。

分类:

Observer:

                  RegionObserver             提供客户端的数据操纵事件钩子: Get、 Put、 Delete、Scan等

                  RegionServerObserver 专门处理RegionServer上的一些事件

                  MasterObserver              提供DDL-类型的操作钩子。如创建、删除、修改数据表等

                  WalObserver                    提供WAL相关操作

这些接口可以同时使用在同一个地方,按照不同优先级顺序执行。用户可以任意基于协处理器实现复杂的HBase功能层。 HBase有很多种事件可以触发观察者方法,这些事件与方法从HBase0.92版本起,都会集成在HBase API中。不过这些API可能会由于各种原因有所改动,不同版本的接口改动比较大。  

RegionObserver工作原理,如图所示


Endpoint


终端是动态RPC插件的接口,它的实现代码被安装在服务器端,从而能够通过HBase RPC唤醒。客户端类库提供了非常方便的方法来调用这些动态接口,它们可以在任意时候调用一个终端,它们的实现代码会被目标region远程执行,结果会返回到终端。用户可以结合使用这些强大的插件接口,为HBase添加全新的特性

endpoint服务端编写

1、在一个.proto文件中定义一个信息格式. 

option java_package = "edu.endpoint";
option java_outer_classname = "Sum";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;
message SumRequest {
	required string family = 1;
	required string column = 2;
}
message SumResponse {
	required int64 sum = 1 [default = 0];
}

service SumService {
	rpc getSum(SumRequest)
		returns (SumResponse);
}

2、使用pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值