HBase协处理器类型有哪些

本篇内容介绍了“HBase协处理器类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司是一家专业从事成都做网站、成都网站制作、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联公司依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

概述:

    在HBase中,使用Get或Scan获取数据,而在RDBMS中使用SQL查询。为了只获取相关数据,您使用HBase Filter过滤它,而在RDBMS中使用WHERE谓词。

    获取数据后,对其执行计算。这种范型适用于只有几千行和几列的“小数据”。然而,当扩展到数十亿行和数百万列时,跨网络移动大量数据将在网络层造成瓶颈,客户端需要足够强大并有足够的内存来处理大量数据和计算。此外,客户端代码可能会变得又大又复杂。

    在这种情况下,使用协处理器是有意义的。您可以将业务计算代码放入运行在与数据相同位置的RegionServer上的协处理器中,并将结果返回给客户机。

    这只是使用协处理器可以带来好处的一个场景。下面是一些类比,可能有助于解释协处理器的一些好处。

协处理器类比:

    1.观察者协处理器类似于RDBMS中的触发器,因为它在特定事件(例如Get或Put)发生之前或之后执行代码。端点协处理器类似于RDBMS中的存储过程,因为它允许您在RegionServer本身而不是在客户机上对数据执行自定义计算。

    2.如果您熟悉面向方面编程(AOP),那么可以将协处理器视为应用通知,即在将请求传递到最终目的地(甚至更改目的地)之前拦截请求,然后运行一些定制代码。

协处理器实现概述

    1.你的类应该实现其中一个协处理器接口—协处理器、RegionObserver、CoprocessorService。

    2.使用HBase Shell静态地(从配置中)或动态地加载协处理器。

    3.从客户端代码调用协处理器。HBase对协处理器的处理是透明的。

协处理器的类型:

    1.Observer Coprocessors(观察者协处理器)

    观察者协处理器在特定事件发生之前或之后被触发。发生在事件之前的观察者使用以前缀开头的方法,如prePut。仅在以post前缀(如postPut)开头的事件覆盖方法之后发生的观察者。

    观察者协处理器使用场景:

       a.安全:

            在执行Get或Put操作之前,可以使用preGet或prePut方法检查权限。

        b.参照完成性:

            HBase不直接支持RDBMS的引用完整性概念(也称为外键)。您可以使用协处理器来实现这种完整性。例如,如果您有一个业务规则,即对users表的每次插入都必须在user_daily_考勤表中跟随相应的条目,那么您可以实现一个协处理器来使用user上的prePut方法将一条记录插入user_daily_考勤中。

        c.二级索引

            您可以使用协处理器来维护二级索引。

    Observer Coprocessor类型:

        a.RegionObserver :一个RegionObserver协处理器允许您观察某个区域上的事件,比如Get和Put操作。

        b.RegionServerObserver:

        RegionServerObserver允许您观察与RegionServer操作相关的事件,例如启动、停止或执行合并、提交或回滚。

        c.MasterObserver:

        MasterObserver允许您观察与HBase主节点相关的事件,比如表创建、删除或模式修改。

        d.WalObserver

        WalObserver允许您观察与写提前日志相关的事件(WAL)。

    2.Endpoint Coprocessor(端点协处理器)

    Endpoint Coprocessor允许您在数据的位置执行计算。看协处理器的类比。例如,需要计算跨越数百个区域的整个表的运行平均值或求和。

    与以透明方式运行代码的Observer Coprocessor不同,必须使用表或HTable中可用的CoprocessorService()方法显式地调用Endpoint Coprocessor。

     Endpoint Coprocessor不应该使用HBase内部机制,而应该只使用公共api;理想情况下,Endpoint Coprocessor应该只依赖于接口和数据结构。这并不总是可能的,但是要注意这样做会使端点变得脆弱,容易随着HBase内部的发展而崩溃。HBase内部api被标注为私有的或演化的,在删除之前不需要遵守语义版本规则或一般的java弃用规则。

“HBase协处理器类型有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文名称:HBase协处理器类型有哪些
本文URL:http://cdiso.cn/article/gghihp.html

其他资讯