hbase 协处理器
一、服务端
1、安装Protobuf
2、RPC proto 定义
文件:Examples.proto
option java_package = "org.apache.hadoop.hbase.coprocessor.example.generated";
option java_outer_classname = "ExampleProtos";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;
message CountRequest {
}
message CountResponse {
required int64 count = 1 [default = 0];
}
service RowCountService {
rpc getRowCount(CountRequest)
returns (CountResponse);
rpc getKeyValueCount(CountRequest)
returns (CountResponse);
}
文件存放在工程的 src/main/protobuf 目录下
3、生成java代码
D:\workspace\myBase\src\main\protobuf>protoc --java_out=D:\workspace\myBase\src\main\java Examples.proto
4、pom.xml增加依赖
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
5、实现 Server 端代码
Coprocessor 接口定义了两个接口函数,start 和 stop。
协处理器在 Region 打开的时候被 RegionServer 自动加载,并会调用器 start 接口,完成初始化工作。
start 接口
stop 接口
getService 接口
6、函数定义
二、实现 Client 端代码
HBase 提供了客户端 Java 包 org.apache.hadoop.hbase.client.coprocessor。它提供以下三种方法来调用协处理器提供的服务:
Table.coprocessorService(byte[])
Table.coprocessorService(Class, byte[], byte[],Batch.Call),
Table.coprocessorService(Class, byte[], byte[], Batch.Call, Batch.Callback)
一般情况下,使用 Endpoint 协处理器的频率不会太高。HBase 是一个存储数据的系统,最常用的应该是 get 和 put,如果频繁使用协处理器,也许说明您应该考虑其他的数据库系统。
最新文章
- 循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程
- Unbroken(坚不可摧)——Mateusz M
- Eclipse安装ZooKeeper插件
- iOS-三方框架AFNetworking基本使用
- 模板题 codevs 1993 草地排水 想学习的请看链接
- 【001:Tomcat搭建简单文件服务器】
- 借助阿里AntUI元素实现两个Web页面之间的过渡——“Loading…”
- 简单分组背包ACboy needs your help(hdu1712)
- UI2_UICollectionViewPicture
- UVa 11997 (优先队列 多路归并) K Smallest Sums
- MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法
- DIY 温控烙铁
- Spring动态切换多数据源解决方案
- HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接(转)
- AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码
- 使用Qss设置QT程序界面的样式和皮肤
- php导出csv
- windows 下安装composer
- c++刷题(33/100)笔试题1
- win10下的iis的配置(服务于asp.net)