- 协处理器介绍
定义:
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