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
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的方式来加载协处理器