admin 管理员组

文章数量: 887021

HBase

HBase协处理器受BigTable协处理器的启发,为用户提供类库和运行时环境,使得代码能够在HBaseRegionServer和Master上处理
◆系统协处理器and表协处理器

◆Observer and Endpoint

◆系统协处理器:全局加载到RegionServer托管的所有表和F

◆表协处理器:用户可以指定一张表使用协处理器

观察者(Observer):类似于关系数据库的触发器

终端(Endpoint):动态的终端有点像存储过程

Observer
◆RegionObserver:提供客户端的数据操纵事件钩子:Get Put
Delete Scan等
◆MasterObserver:提供DDL类型的操作钩子。如创建、删除、修改
数据表等
◆WALObserver:提供WAL相关操作钩子

Observer应用场景
安全性:例如执行Get或Put操作前,通过preGet或prePut方法检查
是否允许该操作
◆引用完整性约束:HBase并不支持关系型数据库中的引用完整性约束
概念,即通常所说的外键。我们可以使用协处理器增强这种约束
二级索引:可以使用协处理器来维持一个二级索引

协处理器实战

实现一个RegionObserver类型的协处理器继承BaseRegionObserver
实现一个Endpoint类型的协处理器
实现Coprocessor和CoprocessorService

  • 实现RegionObserver类型协处理器

代码实现:

实现两个功能:

    1:cf:countCol。对这一列进行累积操作,每次插入的时候都要与之前的值进行相加

 2:不能直接删除unDeleteCol     删除countCol的时候将unDeleteCol一起删除

HBase加载协处理器

配置文件加载:即通过hbase-sitexml文件配置加载,一般这样的协
处理器是系统级别的
shell加载:可以通过alter命令来对表进行schema修改来加载协处理

通过API代码加载:即通过API的方式来加载协处理器

本文标签: HBase