hbase的协处理有哪些?

提问者:帅平 问题分类:面试刷题
hbase的协处理有哪些?
2 个回答
幸福搭配甜蜜
幸福搭配甜蜜
endpoint协处理器:
Endpoint 协处理器类似传统数据库中的存储过程,客户端可以调用这些 Endpoint 协处理器执行一段 Server 端代码,并将 Server 端代码的结果返回给客户端进一步处理,最常见的用法就是进行聚集操作
如果没有协处理器,当用户需要找出一张表中的最大数据,即max 聚合操作,就必须进行全表扫描,在客户端代码内遍历扫描结果,并执行求最大值的操作。这样的方法无法利用底层集群的并发能力,而将所有计算都集中到 Client 端统一执 行,势必效率低下。
利用 Coprocessor,用户可以将求最大值的代码部署到 HBase Server 端,HBase 将利用底层 cluster 的多个节点并发执行求最大值的操作。即在每个 Region 范围内 执行求最大值的代码,将每个 Region 的最大值在 Region Server 端计算出,仅仅将该 max 值返回给客户端。在客户端进一步将多个 Region 的最大值进一步处理而找到其中的最大值。这样整体的执行效率就会提高很多
发布于:3个月前 (01-24) IP属地:四川省
心软是病不治要命
心软是病不治要命
observer协处理器:
Observer 类似于传统数据库中的触发器,当发生某些事件的时候这类协处理器会被 Server 端调用。
Observer Coprocessor 就是一些散布在 HBase Server 端代码中的 hook 钩子, 在固定的事件发生时被调用。比如 put 操作之前有钩子函数 prePut,该函数在 put 操作执行前会被 Region Server 调用;​在 put 操作之后则有 postPut 钩子函数。它提供了三种观察者接口:
1、RegionObserver:提供客户端的数据操纵事件钩子: Get、 Put、 Delete、 Scan 等
2、WALObserver:提供 WAL 相关操作钩子。
3、MasterObserver:提供 DDL-类型的操作钩子。如创建、删除、修改数据表等。
发布于:3个月前 (01-24) IP属地:四川省
我来回答