hbase coprocessor的分析
转自 http://walkoven.com/?p=77
hbase coprocessor的分析
下载链接:hbase coprocessor的分析.pdf
hbase Coprocessor是很多人对hbase-0.92的重大期待之一。它让离线分析和在线应用很好地结合在了一起,另外也极大地拓展了hbase的应用 丰富性,不再是简单的k-v类应用。hbase coprocessor的设计来源于hbase-2000和hbase-2001两个issue。那么几年过去了,hbase coprocessor究竟发展到什么程度,可以将它们用于哪些地方呢?下文主要内容来源于Trend Micro Hadoop Group的成员,同时也是hbase coprocessor的作者,不愿意看底下啰嗦废话的同学可以直接跳到最后面的总结看。
原文链接:https://blogs.apache.org/hbase/entry/coprocessor_introduction。
@Override
public void preGet(final ObserverContext c,
final Get get, final List result) throws IOException
throws IOException {
// check permissions..
if (!permissionGranted()) {
thrownewAccessDeniedException("User is not allowed to access.");
}
}
// override prePut(), preDelete(), etc.
}
throws IOException {
T min = null;
T temp;
InternalScanner scanner = ((RegionCoprocessorEnvironment) getEnvironment())
.getRegion().getScanner(scan);
List results = new ArrayList();
byte[] colFamily = scan.getFamilies()[0];
byte[] qualifier = scan.getFamilyMap().get(colFamily).pollFirst();
try {
boolean hasMoreRows = false;
do {
hasMoreRows = scanner.next(results);
for (KeyValue kv : results) {
temp = ci.getValue(colFamily, qualifier, kv);
min = (min == null || ci.compare(temp, min) < 0) ? temp : min;
}
results.clear();
} while (hasMoreRows);
} finally {
scanner.close();
}
log.info("Minimum from this region is "
+ ((RegionCoprocessorEnvironment) getEnvironment()).getRegion()
.getRegionNameAsString() + ": " + min);
return min;
}
- hbase coprocessor是脱胎于google bigtable coprocessor,区别是hbase coprocessor并非独立进程,而是在原来进程中嵌入框架
- hbase coprocessor的实现分为observer与endpoint,其中observer类似于触发器,主要在服务端工作,而endpoint类似于存储过程,主要在client端工作
- observer可以实现权限管理、优先级设置、监控、ddl控制、二级索引等功能,而endpoint可以实现min、mas、avg、sum等功能
- coprocessor可以动态加载
- coprocessor的性能取决于想要加载的方法的性能,不过为了有一个直观的了解,我们仍然近期打算对hbase coprocessor的一些典型场景做性能测试。
转载于:https://www.cnblogs.com/linhaohong/archive/2012/05/16/2503988.html
hbase coprocessor的分析相关推荐
- HBase源码分析之HRegion上compact流程分析(三)
在<HBase源码分析之HRegion上compact流程分析(二)>一文中,我们没有讲解真正执行合并的CompactionContext的compact()方法.现在我们来分析下它的具体 ...
- 技术篇-HBase Coprocessor 的实现与应用
本次分享的内容主要分为以下五点: Coprocessor 简介 Endpoint 服务端实现 Endpoint 客户端实现 Observer 实现二级索引 Coprocessor 应用场景 1. Co ...
- Hbase Coprocessor(协处理器)的使用
本博客记录初次使用hbase coprocessor的过程.协处理器分两种类型,系统协处理器可以全局导入region server上的所有数据表,表协处理器即是用户可以指定一张表使用协处理器.协处理器 ...
- Hbase源码分析:Hbase UI中Requests Per Second的具体含义
Hbase源码分析:Hbase UI中Requests Per Second的具体含义 让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大 ...
- 使用HBase Coprocessor协处理器
原文: http://www.zhyea.com/2017/04/13/using-hbase-coprocessor.html HBase的Coprocessor是模仿谷歌BigTable的Copr ...
- 使用HBase Coprocessor
转载自:使用HBase Coprocessor HBase的Coprocessor是模仿谷歌BigTable的Coprocessor模型实现的. Coprocessor提供了一种机制可以让开发者直接在 ...
- Hbase Coprocessor 协处理器 与 JavaAPI
协处理器概念 一.协处理器有两种: observer 和 endpoint 1.observer协处理器 Observer 类似于传统数据库中的触发器,当发生某些事件的时候这类协处理器会被 Serve ...
- HBase文件索引分析
2019独角兽企业重金招聘Python工程师标准>>> 基于HBase 0.94.3分析 HBase总体结构图 部分术语简介 HMaster 负责管理HRegionServer的 ...
- Spark Stream整合flum和kafka,数据存储在HBASE上,分析后存入数据库
开发环境:Hadoop+HBASE+Phoenix+flum+kafka+spark+MySQL 默认配置好了Hadoop的开发环境,并且已经安装好HBASE等组件. 下面通过一个简单的案例进行整合: ...
最新文章
- 回文数:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- CEPH集群更换ip(更换ip前的防范和更换ip后的恢复)
- 对 android apk 进行重新签名操作
- 使用RDLC报表(二)--使用自定义数据集
- Android 反射获取内外置存储卡方法
- 阿里大鱼短信介入demo分享
- 二叉树前序、中序、后序遍历非递归写法的透彻解析
- redis安装190923课堂版
- 利用mysql的预编译机制_Mysqli的预编译机制处理批量数据过程
- python数据分析:Numpy
- 对比起来学习前端三大框架(持续更新)
- php字符串指定长度截取,php 截取指定长度字符串的代码分享
- oracle 12c 自增序列
- 《WebRTC源码深入剖析》总结
- 怎么实现红鲤鱼与绿鲤鱼与驴代码
- 怎么画动漫人物的五官:耳鼻眼嘴
- Linux中的0.0.0.0和 ::
- hdf5 目录没有serial_hdf5
- c语言如何用fscanf将字符串读取,fscanf如何使用C语言处理%c和%s
- CSS-sprit 雪碧图