一种基于Hbase协处理器的大数据实时索引方法技术

技术编号:20588783 阅读:26 留言:0更新日期:2019-03-16 07:07
本发明专利技术涉及Hbase实时索引技术领域,具体涉及一种基于Hbase协处理器的大数据实时索引方法,包括对于需要索引的表,添加协处理器监听;针对Hbase中DDL、DML动作,定义相应动作的KEY;编写基于Hbase协处理器的动作监听代码,以及将Hbase中操作的数据序列化发送到kafka。本发明专利技术通过对Hbase的DML、DDL动作进行监听,及时感知到对hbase的表以及数据操作动作,对相应动作进行封装,并发送到kafka消息队列中,同时索引转换器能够对于kafka中的数据以及相应动作进行相应索引处理,将hbase的动作监听与数据索引写入程序进行解耦,避免数据读取和写入速度不一致,造成的资源等待占用资源的问题。

A Real-time Index Method for Large Data Based on Hbase Coprocessor

The invention relates to the field of Hbase real-time indexing technology, in particular to a large data real-time indexing method based on Hbase coprocessor, including adding coprocessor monitoring to tables requiring indexing, defining KEY of corresponding actions for DDL and DML actions in Hbase, writing action monitoring code based on Hbase coprocessor, and sending data serialization of operations in Hbase to kafka. \u3002 The invention monitors the DML and DDL actions of Hbase, senses the tables and data operation actions of HBase in time, encapsulates the corresponding actions, and sends them to the message queue of kafka. At the same time, the index converter can index the data and corresponding actions in kafka, decouples the action monitoring of HBase and the data index writing program, and avoids the data. The inconsistency of read and write speeds results in the problem of resource waiting to occupy resources.

【技术实现步骤摘要】
一种基于Hbase协处理器的大数据实时索引方法
本专利技术涉及Hbase实时索引
,具体涉及一种基于Hbase协处理器的大数据实时索引方法。
技术介绍
HBase是一种构建在HDFS之上的分布式、面向列的存储系统。在需要实时读写、随机访问超大规模数据集时,可以使用HBase。但是由于hbase的数据读取,全部依赖于hbase的rowkey。为了实现能够基于对hbase中的部分数据进行复杂查询、或者进行全文检索,需要对hbase进行构建索引。传统的索引方法对于hbase索引的时候是循环读取Hbase表数据,然后直接将hbase表数据,存储到elasticsearch或者solr等索引服务器中。或者通过Hbase和elasticsearch进行直连,实现数据的直接进入索引集群,这样会对于hbase读取和elasticsearch写入的读写速度不同步造成阻塞的压力。
技术实现思路
本专利技术的目的在于克服现有技术中存在的问题,提供一种基于Hbase协处理器的大数据实时索引方法,它可以实现能够基于hbase中数据操作,实时对hbase数据进行提交到elasticsearch索引的方法,同时解决由于elasticsearch等索引服务器写入速度和hbase读取速度不一致造成的对索引集群或者hbase集群的资源占用压力,更好的解除hbase集群与索引服务集群之间的耦合。为实现上述技术目的,达到上述技术效果,本专利技术是通过以下技术方案实现的:一种基于Hbase协处理器的大数据实时索引方法,包括如下步骤:Step1,对于需要索引的表,添加协处理器监听;Step2,针对Hbase中DDL、DML动作,定义相应动作的KEY;Step3,编写基于Hbase协处理器的动作监听代码,以及将Hbase中操作的数据序列化发送到kafka;Step4,将Hbase协处理动作数据进行处理,转成字节流写入Kafka中;Step5,编写Kafka消费程序,对kafka中的数据进行转换,转成elasticsearch中Doc对象;Step6,将数据实时写入elasticsearch中;Step7,数据查询。进一步地,所述步骤7数据查询,先基于Elasticsearch进行查询。本专利技术的有益效果:通过对Hbase的DML、DDL动作进行监听,及时感知到对hbase的表以及数据操作动作,对相应动作进行封装,并发送到kafka消息队列中,同时索引转换器能够对于kafka中的数据以及相应动作进行相应索引处理,将hbase的动作监听与数据索引写入程序进行解耦,避免数据读取和写入速度不一致,造成的资源等待占用资源的问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的方法流程图;具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。如图1所示的一种基于Hbase协处理器的大数据实时索引方法,包括如下步骤:Step1,针对需要进行DDL(deleteTable、truncateTable)动作监听的表添加协处理器。Step2,针对需要进行DML(delete、put)动作监听的表添加协处理器。Step3,针对hbase中DDL、DML动作进行封装、定义动作类型的唯一标识KEY。Step4,编写KAFKA生产者代码,将捕获到的HBASE动作、数据进行适配转成字节流发送数据到KAFKA。Step5,根据具体业务需要,针对HBASE中数据类型、以及分词需求,定义相关Mapping,针对不同类型的数据建立相应类型的索引对应关系。Step6,编写Kafka消费程序,对kafka中的数据进行消费,同时根据定义的Mapping进行转换。Step7,将数据实时写入elasticsearch中。Step8,数据查询的时候,先基于elasticsearch根据条件进行多条件分页查询,然后基于rowkey获取hbase中数据。所述步骤7数据查询,先基于Elasticsearch进行查询。以上公开的本专利技术优选实施例只是用于帮助阐述本专利技术。优选实施例并没有详尽叙述所有的细节,也不限制该专利技术仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本专利技术的原理和实际应用,从而使所属
技术人员能很好地理解和利用本专利技术。本专利技术仅受权利要求书及其全部范围和等效物的限制。本文档来自技高网
...

【技术保护点】
1.一种基于Hbase协处理器的大数据实时索引方法,其特征在于,包括如下步骤:Step1,对于需要索引的表,添加协处理器监听;Step2,针对Hbase中DDL、DML动作,定义相应动作的KEY;Step3,编写基于Hbase协处理器的动作监听代码,以及将Hbase中操作的数据序列化发送到kafka;Step4,将Hbase协处理动作数据进行处理,转成字节流写入Kafka中;Step5,编写Kafka消费程序,对kafka中的数据进行转换,转成elasticsearch中Doc对象;Step6,将数据实时写入elasticsearch中;Step7,数据查询。

【技术特征摘要】
1.一种基于Hbase协处理器的大数据实时索引方法,其特征在于,包括如下步骤:Step1,对于需要索引的表,添加协处理器监听;Step2,针对Hbase中DDL、DML动作,定义相应动作的KEY;Step3,编写基于Hbase协处理器的动作监听代码,以及将Hbase中操作的数据序列化发送到kafka;Step4,将Hbase协处理动作数据进行处理,转成字...

【专利技术属性】
技术研发人员:朱静轩吴问海章文友孟彦
申请(专利权)人:中新网络信息安全股份有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1