05分布式NOSQL HBASE - Coprocessor协调器
来源:互联网 发布:centos 7 mount yum 编辑:程序博客网 时间:2024/06/05 08:29
(原文地址:http://blog.csdn.net/codemosi/article/category/2777041,转载麻烦带上原文地址。hadoop hive hbase mahout storm spark kafka flume,等连载中,做个爱分享的人)
1 那么问题又来了 ????
1:如果要对HBase的User表,做一些sum,orderby等常用的聚合怎么搞。1:如果javaapi 全部读出来,表太大时显然这种方案不合适,2,mapreduce 分布式的批量读出再算,但是当数据小的时候,mr任务要消耗的资源大,有点牛刀。
为解决这种 sum,orderby等常用的聚合聚合操作的,HBase的org.apache.hadoop.hbase.coprocessor 协处理器机智,提供在服务端region运行代码的机制,的解决方案,如GET 操作,直接在服务端执行。并不需要把结果返回回来。中国山东找蓝翔。
2:假设我们在user表执行DELETE 或者GET等操作之后,要做操作日志
HBase的org.apache.hadoop.hbase.coprocessor 协处理器也能处理这样的需求。
2 协处理器概述
HBase有全表,和单表两种作用域的协处理器,以及 observer和endpoint两种调用方式的协处理器,observer为hbase 的GET,PUT,SCAN,DELETE等操作提供了Hook钩子,类似于onClick do,适合在表的某些操作前后的需求。endpoint是一个服务端的方法,我们要使用时,通过rpc可以直接调用,适合做聚合。
3.1 协处理器observer模式关键API
3.2 协处理器endpoint(RPC)模式关键API
3.2.1服务端类关键接口
//接受到请求后,真正执行的方法。
实现com.google.protobuf.Service里的接口
//初始化获取env对象。
public void start(CoprocessorEnvironment env) throws IOException {}
//结束时关闭相关资源
public void stop(CoprocessorEnvironment env) throws IOException{}
3.2.2客户端端类关键接口
//发起请求
coprocessorService(java.lang.Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)]coprocessorService[/url](Class<T> service, byte[] startKey, byte[] endKey, org.apache.hadoop.hbase.client.coprocessor.Batch.Call<T,R> callable)
//执行rpc请求的时候,真正执行的代码,在服务端执行。
public Long call(TestEndpoint.CountService counter)
4.1 协处理器observer模式程序
有空再补充
4.2 协处理器endpoint(RPC)模式程序
有空再补充
- 05分布式NOSQL HBASE - Coprocessor协调器
- hbase coprocessor
- 04分布式NOSQL HBASE - HBase过滤器
- MSDTC(分布式交易协调器)
- hbase coprocessor 源码分析
- HBase Coprocessor的分析
- hbase coprocessor的分析
- HBase Coprocessor Endpint运行机制
- hbase的coprocessor使用
- HBASE coprocessor 的分析
- hbase 之 Coprocessor
- hbase 自定义 endpoint coprocessor
- HBase Coprocessor 之endpoint
- hbase coprocessor 实践:observer
- Hbase中的Coprocessor
- Hbase coprocessor获取数据
- hbase 自定义 endpoint coprocessor
- HBase--Coprocessor协处理器
- android的surfaceflinger原理讲解
- Gentoo安装笔记
- iOS摄像头和相册-UIImagePickerController-浅析
- ThinkPHP3.1.3源码分析(三) common.php
- VC动态库
- 05分布式NOSQL HBASE - Coprocessor协调器
- 四种内部类简单介绍(inner class)
- Android自定义组件简单实例(自定义属性)
- 算法导论23(最小生成树)
- IOS中的Model-View-Controller
- html5各种页面切换效果和模态对话框
- 轻时代:互联网电商怎样为网站“减肥”
- ector中erase用法注意事项
- 计算设备操作系统的维护