首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用Hbase的coprocessor实现增量式Apriori算法

至于Hbase的Coprocessor,相信大家也很了解了吧,这是根据Google的BigTable中实现的Percolator的开源实现,目的是提供增量操作以及建立二级索引。...Hbase提供两种类型的Coprocessor,Endpoint和Observer,Endpoint提供的类似于数据库的存储过程,需要事先部署一份程序到各个regionserver,然后由客户端调用,并汇总各个...今天我们只用到了Endpoint型的Coprocessor,由各个regionserver统计其事务集中所有频繁项集,然后客户端汇总各个region的频繁项集,做个并集,对于计数已达到最低支持度要求的项集就认定为全局频繁...有必要提一下的是,Hbase从0.98版本开始,Coprocessor的远程通信采用了protobuf标准,protobuf需要实现定义通信格式,下面就是该算法需要的proto package apriori

71730
您找到你想要的搜索结果了吗?
是的
没有找到

Hbase使用Coprocessor构建二级索引

静态装载和卸载Coprocessor 按以下如下步骤可以静态装载自定义的Coprocessor。需要注意的是,如果一个Coprocessor是静态装载的,要卸载它就需要重启HBase。...使用这种方式加载的Coprocessor将会作用在HBase所有表的全部Region上,因此这样加载的Coprocessor又被称为系统Coprocessor。...在Coprocessor列表中第一个Coprocessor的优先级值为Coprocessor.Priority.SYSTEM,其后的每个Coprocessor的值将会按序加一(这意味着优先级会减降低,因为优先级是按整数的自然顺序降序排列的...动态装载Coprocessor 动态装载Coprocessor的一个优势就是不需要重启HBase。不过动态装载的Coprocessor只是针对某个表有效。...因此,动态装载的Coprocessor又被称为表级Coprocessor

51430

如何使用Java调用HBase的 Endpoint Coprocessor

在HBase0.96版本后引入了协处理器(Coprocessor),用户可以编写运行在HBase Server端的代码。HBase支持两种类型的协处理器,Endpoint和Observer。...Observer Coprocessor,这中协处理器类似于传统数据库中的触发器,当发生某些事件的时候,Observer协处理器会被Server端调用。...Endpoint Coprocessor客户端调用过程,如下图所示: ?...运行在HBase 的RegionServer中,所以这里只需要配置”HBase Coprocessor Region类” org.apache.hadoop.hbase.coprocessor.example.RowCountEndpoint...类,通过设置Endpoint Coprocessor类可以找到Region相应的协处理器 * 参数二和参数三:要调用哪些Region上的服务则有startkey和endkey来决定

2.1K20

如何开发HBase Endpoint类型的Coprocessor以及部署使用

前面的文章调用Coprocessor定义的全局的,在本篇文章Fayson介绍另一种实现方式通过代码的方式对指定的表添加Coprocessor。...内容概述 1.环境准备 2.使用Protobuf生成序列化类 3.Endpoint Coprocessor服务端实现 4.Endpoint Coprocessor客户端实现 5.部署及调用 测试环境 1...6.准备HBase测试表,建表脚本及测试数据如下 create 'fayson_coprocessor', {NAME => 'info'} put 'fayson_coprocessor','001'...'fayson_coprocessor','003','info:age',26 put 'fayson_coprocessor','004','info:age',28 put 'fayson_coprocessor...在客户端调用的示例代码中使用的是代码为指定的表添加Coprocessor操作,所以这里不需要在HBase中配置全局的Coprocessor

1.8K20

Kylin云端跨集群迁移实践

在方案三种元数据的恢复是没有问题的,在恢复cube 预计算数据时,导致了regionserver全部挂掉, 原因在于kylin中使用了coprocessor,每个hbase表都有一个coprocessor...,也不会影响regionserver挂掉 因为在snapshot在restore之后,regionserver会一直的加载coprocessor,所以需要先更新hbase表的coprocessor 解决方法一...从而可以保证在restore之后,regionserver不会挂掉 然后,再执行hbase coprocessor的alter的操作 首先删除掉coprocessor alter 'tablename'..., METHOD => 'table_att_unset',NAME => 'coprocessor 然后加入新的coprocessor "alter 'tablename', 'coprocessor...'=>‘绑定目标hdfs集群kylin的coprocessor.jar地址’ 解决方法二: 可以在目标集群中伪造源端的host名称,使hbase coprocessor实际访问的依旧是目标端的hdfs

87530

「EMR 运维指南」之 Kylin 迁移方案

dfs -ls cosn://xxx-12345/若能查看cos内容,则正常在源集群将协处理器的jar包上传到cos,如图二所示hdfs dfs -cp /kylin/kylin_metadata/coprocessor.../kylin-coprocessor-2.5.2-0.jar cosn://xxx-12345/源集群hbase修改协处理器地址,进入hbase shell卸载协处理器alter 'KYLIN_15MHU5XCIY...',METHOD=>'table_att_unset',NAME=>'coprocessor$1'其中KYLIN_15MHU5XCIY是hbase表名,这里是demo中表名,实际换成自己的加载新的协处理器...alter 'KYLIN_15MHU5XCIY','coprocessor'=>'cosn://xxxx-12345/kylin-coprocessor-2.5.2-0.jar|org.apache.kylin.storage.hbase.cube.v2....coprocessor.endpoint.CubeVisitService|1001|'地址换成cos路径,执行后如下图所示(hbase master UI)图片若源集群的hbase表中加载的协处理器不是本集群地址

42530
领券