前言:最近联系到HBase中协处理器的相关知识与踩坑经验,分享一下。
Ps:原创不易,请多多支持!
一、先简单介绍一下协处理器
协处理器是帮助HBase轻松的构建二级索引的(HBase 0.92版本之后才有的技术)。
协处理器的分类:observer 和 endpoint。
Observer: 简单来讲,类似于传统数据库中的触发器。
在处理HBase的数据之前,之后的节点上,会触发Observer中的某些具体的方法。这些方法被称之为钩子方法。
以 Hbase2.0.0 版本为例,它提供了三种观察者接口:
● RegionObserver:提供客户端的数据操纵事件钩子: Get、 Put、 Delete、 Scan 等。
● WALObserver:提供 WAL 相关操作钩子。
● MasterObserver:提供 DDL-类型的操作钩子。如创建、删除、修改数据表等。Endpoint :协处理器类似传统数据库中的存储过程,一般用于统计聚合函数的效果,比如最大值,最小值,平均值等。
二、案例需求:
在HBase中创建两个表,proc1 和 proc2
当向第一个表插入数据的时候,自动的将第二个表也插入数据。
三、详细流程:
第一步:先创建两个表:
hbase(main):042:0> create 'proc1','info'
hbase(main):042:0> create 'proc2','info'
第二步:编写协处理器
在HBase中proc1中插入数据的时候,会触发prePut方法,获取Put中的数据,
只拿到Name