一种PB级海量数据的实时查询方法和装置制造方法及图纸

技术编号:27059206 阅读:80 留言:0更新日期:2021-01-15 14:38
本发明专利技术公开了一种PB级海量数据的实时查询方法和装置,应用于逻辑数据库,包括:通过逻辑数据库响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息;根据所述目标索引信息,确定与所述索引信息对应的目标数据文件;所述目标索引信息包括提取起始位置和提取终止位置;在所述目标数据文件中从所述提取起始位置开始按预设提取顺序提取数据记录,直至所述提取终止位置;对所述数据记录进行JSON序列化,生成序列数据并输出。从而解决现有技术的实时查询依赖内存资源,实施成本高的技术问题,进而有效降低实时查询的成本,提高查询效率。

【技术实现步骤摘要】
一种PB级海量数据的实时查询方法和装置
本专利技术涉及数据查询
,尤其涉及一种PB级海量数据的实时查询方法和装置。
技术介绍
在大数据应用中,除了具备大数据计算和分析功能,还需提供数据实时查询能力满足各类数据检索和检索功能。其中原始数据、中间层数据、统计层数据等都存在查询需求。不同类型数据数据量不同,通常原始数据量非常巨大,可达PB级,例如运营商移动用户流量轨迹详单(用户通过移动网络访问互联网内容的轨迹记录)。针对PB级数据提供实时查询场景,要求存贮引擎具备超大数据容量和快速入库机制,针对大并发查询场景能提供秒级响应性能。同时,作为大数据应用,应支持主流大数据计算框架访问,包括MapReduce、Hive及Spark等。目前,业界有部分开源产品能提供实时查询功能,例如开源Hive,虽然能够提供海量数据存贮但并不具备实时查询功能;开源HBase,虽然能够进行实时查询,但海量数据的存贮机制复杂,性能不稳定,查询依赖内存资源,实施成本高;关系数据库(开源Mysql/商业Oracle),具备实时查询能力但无法满足PB级海量数据的存贮场景;开源搜索引擎,查询严重依赖内存资源,主机存贮资源利用率低,实施成本高,并且入库性能低,不能满足PB级数据查询场景。由此可见,上述产品都具有一定的局限性,不能满足PB级海量数据实施查询生产场景需求。
技术实现思路
本专利技术提供了一种PB级海量数据的实时查询方法和装置,解决了现有技术中的实时查询依赖内存资源,实施成本高的技术问题。本专利技术提供的一种PB级海量数据的实时查询方法,应用于逻辑数据库,所述逻辑数据库包括Hive数据库,包括:响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息;从所述Hive数据库中确定与所述目标索引信息对应的目标数据文件;所述目标索引信息包括提取起始位置和提取终止位置;在所述目标数据文件中从所述提取起始位置开始按预设提取顺序提取数据记录,直至所述提取终止位置;对所述数据记录进行JSON序列化,生成序列数据并输出。可选地,所述逻辑数据库包括HBase索引表,所述响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息的步骤,包括:接收用户输入的数据查询请求,所述数据查询请求包括关键字;在所述HBase索引表中确定与所述关键字匹配的目标索引信息。可选地,所述Hive数据库包括多个Hive数据表,每个所述Hive数据表包括多个分区,每个所述分区包括多个数据文件,所述目标索引信息还包括目标Hive表名、目标分区序号和目标文件序号,所述从所述Hive数据库中确定与所述目标索引信息对应的目标数据文件的步骤,包括:依据所述目标Hive表名从所述Hive数据库中选择目标Hive数据表;依据所述目标分区序号从所述目标Hive数据表中的多个分区中确定目标分区;其中,所述分区处于可使用状态;依据所述目标文件序号从所述目标分区中确定目标数据文件。可选地,所述方法还包括:当用户输入数据写入请求时,响应于所述数据写入请求,执行数据写入操作。可选地,所述数据写入请求携带有写入文件规格参数,所述响应于所述数据写入请求,执行数据写入操作的步骤,包括:响应于所述数据写入请求,接收用户输入的多个输入数据文件;按照预设关键字的顺序对所述多个输入数据文件进行排序,得到多个已排序数据文件,所述已排序数据文件的大小由所述写入文件规格参数设置;遍历所述多个已排序数据文件,生成与所述已排序数据文件对应的预设关键字的数量相等的写入索引信息;在所述HBase索引表中添加所述写入索引信息;在所述Hive数据表中创建新的分区,并将所述已排序数据文件写入到所述新的分区;更新所述新的分区的状态为可使用状态。本专利技术还提供了一种PB级海量数据的实时查询装置,应用于逻辑数据库,所述逻辑数据库包括Hive数据库,包括:索引信息确定模块,用于响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息;目标数据文件确定模块,用于根据所述目标索引信息,确定与所述索引信息对应的目标数据文件;所述目标索引信息包括提取起始位置和提取终止位置;数据记录提取模块,用于在所述目标数据文件中从所述提取起始位置开始按预设提取顺序提取数据记录,直至所述提取终止位置;序列数据输出模块,用于对所述数据记录进行JSON序列化,生成序列数据并输出。可选地,所述逻辑数据库包括HBase索引表,所述索引信息确定模块包括:数据查询请求接收子模块,用于接收用户输入的数据查询请求,所述数据查询请求包括关键字;目标索引信息确定子模块,用于在所述HBase索引表中确定与所述关键字匹配的目标索引信息。可选地,所述Hive数据库包括多个Hive数据表,每个所述Hive数据表包括多个分区,每个所述分区包括多个数据文件,所述目标索引信息还包括目标Hive表名、目标分区序号和目标文件序号,所述目标数据文件确定模块包括:目标Hive数据表选择子模块,用于依据所述目标Hive表名从所述Hive数据库中选择目标Hive数据表;目标分区确定子模块,用于依据所述目标分区序号从所述目标Hive数据表中的多个分区中确定目标分区;其中,所述分区处于可使用状态;目标数据文件确定子模块,用于依据所述目标文件序号从所述目标分区中确定目标数据文件。可选地,所述装置还包括:数据写入操作执行模块,用于当用户输入数据写入请求时,响应于所述数据写入请求,执行数据写入操作。可选地,所述数据写入请求携带有写入文件规格参数,所述数据写入操作执行模块包括:输入数据文件接收子模块,用于响应于所述数据写入请求,接收用户输入的多个输入数据文件;排序子模块,用于按照预设关键字的顺序对所述多个输入数据文件进行排序,得到多个已排序数据文件,所述已排序数据文件的大小由所述写入文件规格参数设置;写入索引信息生成子模块,用于遍历所述多个已排序数据文件,生成与所述已排序数据文件对应的预设关键字的数量相等的写入索引信息;写入索引信息添加子模块,用于在所述HBase索引表中添加所述写入索引信息;分区写入子模块,用于在所述Hive数据表中创建新的分区,并将所述已排序数据文件写入到所述新的分区;状态更新子模块,用于更新所述新的分区的状态为可使用状态。从以上技术方案可以看出,本专利技术具有以下优点:通过逻辑数据库响应于用户输入的数据查询请求,确定对应的目标索引信息,再根据目标索引信息确定对应的目标数据文件以及文件中的数据记录的提取起始位置和提取终止位置,选中数据文件并从提取起始位置开始提取数据记录直至提取终止位置,最后对数据记录进行JSON序列化,生成序列数据并输出,从而解决现有技术的实时查询依赖内存资源,实施成本高的技术问题,进而有效降低实时查询的成本,提高查询效率。...

【技术保护点】
1.一种PB级海量数据的实时查询方法,其特征在于,应用于逻辑数据库,所述逻辑数据库包括Hive数据库,所述方法包括:/n响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息;/n从所述Hive数据库中确定与所述目标索引信息对应的目标数据文件;所述目标索引信息包括提取起始位置和提取终止位置;/n在所述目标数据文件中从所述提取起始位置开始提取数据记录,直至所述提取终止位置;/n对所述数据记录进行JSON序列化,生成序列数据并输出。/n

【技术特征摘要】
1.一种PB级海量数据的实时查询方法,其特征在于,应用于逻辑数据库,所述逻辑数据库包括Hive数据库,所述方法包括:
响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息;
从所述Hive数据库中确定与所述目标索引信息对应的目标数据文件;所述目标索引信息包括提取起始位置和提取终止位置;
在所述目标数据文件中从所述提取起始位置开始提取数据记录,直至所述提取终止位置;
对所述数据记录进行JSON序列化,生成序列数据并输出。


2.根据权利要求1所述的方法,其特征在于,所述逻辑数据库包括HBase索引表,所述响应于用户输入的数据查询请求,确定与所述数据查询请求对应的目标索引信息的步骤,包括:
接收用户输入的数据查询请求,所述数据查询请求包括关键字;
在所述HBase索引表中确定与所述关键字匹配的目标索引信息。


3.根据权利要求2所述的方法,其特征在于,所述Hive数据库包括多个Hive数据表,每个所述Hive数据表包括多个分区,每个所述分区包括多个数据文件,所述目标索引信息还包括目标Hive表名、目标分区序号和目标文件序号,所述从所述Hive数据库中确定与所述目标索引信息对应的目标数据文件的步骤,包括:
依据所述目标Hive表名从所述Hive数据库中选择目标Hive数据表;
依据所述目标分区序号从所述目标Hive数据表中的多个分区中确定目标分区;其中,所述分区处于可使用状态;
依据所述目标文件序号从所述目标分区中确定目标数据文件。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当用户输入数据写入请求时,响应于所述数据写入请求,执行数据写入操作。


5.根据权利要求4所述的方法,其特征在于,所述数据写入请求携带有写入文件规格参数,所述响应于所述数据写入请求,执行数据写入操作的步骤,包括:
响应于所述数据写入请求,接收用户输入的多个输入数据文件;
按照预设关键字的顺序对所述多个输入数据文件进行排序,得到多个已排序数据文件,所述已排序数据文件的大小由所述写入文件规格参数设置;
遍历所述多个已排序数据文件,生成与所述预设关键字的数量相等的待添加索引信息;
在所述HBase索引表中添加所述待添加索引信息;
在所述Hive数据表中创建新的分区,并将所述已排序数据文件写入到所述新的分区;
更新所述新的分区的状态为可使用状态。


6.一种PB级海量数据的实时查询装置,其特征在于,应用于逻辑数据库,所述逻辑数据库包括Hive数据库,包括:
索引信息确定模块,用于响应于用户输...

【专利技术属性】
技术研发人员:张伟石巍司徒达擎廖小文何广柏钟坚张伟涛
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东;44

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

1