当前位置: 首页 > 专利查询>南湖实验室专利>正文

一种基于Elasticsearch实现DeltaLake数据湖索引的方法技术

技术编号:37961473 阅读:14 留言:0更新日期:2023-06-30 09:36
本方案公开了一种基于Elasticsearch实现DeltaLake数据湖索引的方法,入湖时,Spark对源数据进行抽取,对抽取出的数据集进行Schema分析,同时增加数据存储地址信息组成索引结构,实现入湖过程中,针对不同数据源的数据,如果用户未选择创建索引的列,由系统自动推断索引结构,实现基于数据源种类的天然分类。搜索时,不同源数据具有不同的索引结构,源数据因此被分类,查询过程中,根据用户指定在某一类或几类数据范围内进行查询,指定某一类数据进行快速查询。本方案针对Delta Lake数据湖引入Elasticsearch,实现了Elasticsearch与Delta Lake有机结合。在数据入湖过程中,异步建立索引,在数据搜索过程中,只需要关键字,就能迅速定位到已经建立索引的数据的位置,进而快速抓取到需要的数据。取到需要的数据。取到需要的数据。

【技术实现步骤摘要】
一种基于Elasticsearch实现DeltaLake数据湖索引的方法


[0001]本专利技术属于数据湖
,尤其是涉及一种基于Elasticsearch实现DeltaLake数据湖索引的方法。

技术介绍

[0002]数据湖Delta Lake是一种大数据存储方案,数据湖Delta Lake中可存储的数据类型众多,包括结构化数据、半结构化数据、非结构化数据等;数据量庞大,海量的数据使得数据查询搜索费时。
[0003]针对数据湖Delta Lake的搜索,微软提出过一款Hyperspace,该方案技术是针对Apache Spark开发的索引子系统,是spark的插件,采用的是Covering Index,能实现数据湖数据查询性能。但是该方案在数据存储过程中,对dataframe建立索引排序,功能相当于mysql的InnoDB,是在数据底层存储进行按需排序,并不能够实现多源异构索引的方案。

技术实现思路

[0004]本专利技术的目的是针对上述问题,提供一种基于Elasticsearch实现DeltaLake数据湖索引的方法。
[0005]为达到上述目的,本专利技术采用了下列技术方案:
[0006]一种基于Elasticsearch实现DeltaLake数据湖索引的方法,事先将DeltaLake与Elasticsearch搜索服务器建立连接,随后通过以下方法实现索引:
[0007]源数据入湖:
[0008]A1.对源数据进行抽取,形成结构化的基于Spark的Dataset数据集;
[0009]A2.对抽取出的数据集进行Schema分析,同时增加数据存储地址信息组成索引结构;进行Schema分析主要是为了对抽取出的DataSet进行索引字段分析、创建;
[0010]A3.将索引结构的内容转换为搜索服务器的支持格式并存入索引数据库;
[0011]数据搜索:
[0012]B1.搜索服务器接收用户输入的关键词;
[0013]B2.基于索引数据库启动搜索,并定位关键词对应内容的存储位置;
[0014]B3.根据用户选择进入定位位置。
[0015]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,不同源数据具有不同的索引结构,源数据因此被分类,查询过程中,根据用户指定在某一类或几类数据范围内进行查询。能够指定某一类数据进行快速查询,比如:仅仅对源数据为文件的数据进行查询,或者对源数据为关系型数据库的数据进行查询。
[0016]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,可入湖并生成索引结构的源数据包括结构化数据、半结构化数据、非结构化数据、二进制数据,且步骤A2中,根据不同数据源的源数据自动推断索引结构。自动推断索引结构指的是,比如文件,实际存储到数据湖中是字节数组,这部分内容建索引是无意义的,所以,系统对文件索引的字
段只有文件名和源路径。
[0017]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,步骤A2中,根据用户的选择创建索引的列,例如,对于schema为vertexId,vertexLabel,title的三列数据,用户可以自定义选择仅仅对一列数据索引或者三列全部索引。且当用户未选择创建索引的列时,由系统根据数据源的源数据自动建立相应的索引结构。
[0018]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,步骤B2中,在用户输入关键词后将关键词转换成SQL查询语句,并设置一个Session,将执行过的SQL查询语句的查询结果保存至缓存数据中,当出现另一个新SQL查询语句请求时,判断是否在Session时效内,若是,则根据两次SQL查询请求内容,适配缓存数据结果至新SQL查询语句内容,适配上则输出查询结果,未适配上则执行步骤B2。
[0019]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,数据搜索包括全量模糊匹配:根据用户输入的关键词,计算索引数据库中数据与关键词内容的相似度,根据相似度由高到低顺序展示搜索结果。
[0020]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,数据搜索还包括数据隔离和数据融合自由交互匹配,根据字段对索引数据库中的数据进行分组,不同字段匹配不同的目标数据组别,实现数据隔离,同时相似字段分组进行重组实现数据融合,根据用户输入的关键词,在目标数据组别和/或在相应的数据融合组别中匹配数据与关键词内容的相似度,根据相似度由高到低顺序展示搜索结果。例如用户输入关键字为“嘉兴”,目标组别为“地址”或者融合的组别“个人信息(包括姓名、性别、电话、地址)”,与关键字嘉兴匹配。出现“嘉兴”的排在前列,只出现“嘉”或者只出现“兴”的其次。例如嘉兴、嘉峪关、嘉州、嘉定、绍兴、宜兴等,之后是其他无关城市。
[0021]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,当出现不同版本的Elasticsearch搜索服务器时,对不同版本的Elasticsearch搜索服务器进行自动匹配,以兼容不同版本的Elasticsearch搜索服务器。Elasticsearch搜索服务器,简称Es,版本6.7.8都有很大区别,最大区别是对于type的支持,type随着版本更新,取消了,所以对于存储数据的结构发生了变化,所以在使用过程中,本系统自动获取配置的es版本,对于不同的版本,构造不同的存储数据形式。用户使用本系统时,不需要刻意匹配版本,软件可进行自动匹配。
[0022]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,在将DeltaLake与Elasticsearch搜索服务器建立连接过程中抽象出通用的索引接口,以供扩展其他搜索服务器。
[0023]在上述的基于Elasticsearch实现DeltaLake数据湖索引的方法中,步骤A1中,对源数据按行或按多行表进行分析以抽取数据集;
[0024]且采用异步的方式为入湖的源数据创建索引结构并更新索引数据库。
[0025]本专利技术的优点在于:
[0026]1、能够在Delta Lake上实现自动化生成数据索引方案,按索引方案进行存储或者搜索,提供高效的索引组织与快速查询,以支持高性能的大数据分析;
[0027]2、针对Delta Lake数据湖引入Elasticsearch,实现了Elasticsearch与Delta Lake的有机结合,对已知数据进行定位,然后在已知数据中查询。在数据入湖过程中,异步
建立索引,在数据搜索过程中,只需要关键字,就能迅速定位到已经建立索引的数据的位置,进而快速抓取到需要的数据。
[0028]2、基于Elasticsearch开发全文搜索引擎,实现对数据湖重要资源多源异构数据达到全文搜索的目的,同时在数据湖中的自本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Elasticsearch实现DeltaLake数据湖索引的方法,其特征在于,事先将DeltaLake与Elasticsearch搜索服务器建立连接,随后通过以下方法实现索引:源数据入湖:A1.对源数据进行抽取,形成结构化的基于Spark的Dataset数据集;A2.对抽取出的数据集进行Schema分析,同时增加数据存储地址信息组成索引结构;A3.将索引结构的内容转换为搜索服务器的支持格式并存入索引数据库;数据搜索:B1.搜索服务器接收用户输入的关键词;B2.基于索引数据库启动搜索,并定位关键词对应内容的存储位置;B3.根据用户选择进入定位位置。2.根据权利要求1所述的基于Elasticsearch实现DeltaLake数据湖索引的方法,其特征在于,不同源数据具有不同的索引结构,源数据因此被分类,查询过程中,根据用户指定在某一类或几类数据范围内进行查询。3.根据权利要求2所述的基于Elasticsearch实现DeltaLake数据湖索引的方法,其特征在于,可入湖并生成索引结构的源数据包括结构化数据、半结构化数据、非结构化数据、二进制数据,且步骤A2中,根据不同数据源的源数据自动推断索引结构。4.根据权利要求3所述的基于Elasticsearch实现DeltaLake数据湖索引的方法,其特征在于,步骤A2中,根据用户的选择创建索引的列,且当用户未选择创建索引的列时,由系统根据数据源的源数据自动建立相应的索引结构。5.根据权利要求1所述的基于Elasticsearch实现DeltaLake数据湖索引的方法,其特征在于,步骤B2中,在用户输入关键词后将关键词转换成SQL查询语句,并设置一个Session,将执行过的SQL查询语句的查询结果保存至缓存数据中,当出现另一个新SQL查询语句请求时,判断是否在...

【专利技术属性】
技术研发人员:刘昊刘荫隆陈巍王秋烨王朋郁晨熹刘哲峰陈志凌张涛王琪
申请(专利权)人:南湖实验室
类型:发明
国别省市:

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

1