一种基于两层时间标识的数据湖数据增量消费方法技术

技术编号:35939084 阅读:24 留言:0更新日期:2022-12-14 10:27
本发明专利技术公开一种基于两层时间标识的数据湖数据增量消费方法,涉及数据湖技术领域,包括数据写入数据湖和查询数据湖中的数据两个阶段;在数据写入数据湖阶段,需要:创建增量表,启动时间服务器生成时间戳来作为写入数据的时间标识,生成多个空文件,将有时间标识的数据写入空文件,并在文件名称中增设时间戳;在查询数据湖中的数据阶段,需要:指定待消费的增量表、起始消费的时间戳、每次消费的时间范围,判断增量表是否支持增量查询,在支持时解析SQL语句,生成Job,获取时间戳字段,进而过滤增量表,获取满足要求的文件存储路径。本发明专利技术可以快速定位数据的存储路径,实现数据的增量查询,解决数据进入数据湖后无法进行增量消费的缺陷。费的缺陷。费的缺陷。

【技术实现步骤摘要】
一种基于两层时间标识的数据湖数据增量消费方法


[0001]本专利技术涉及数据湖
,具体的说是一种基于两层时间标识的数据湖数据增量消费方法。

技术介绍

[0002]数据管理技术发展到现在主要有三个阶段:数据仓库、数据湖以及现阶段提出来的湖仓一体。
[0003]数据仓库主要依托传统数据库,实现数据的存储、计算和访问,主要是用来做BI(全称Business Intelligence,商业智能,又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值)和报表等功能,数据仓库主要特点是:数据体系严格,格式标准、数据治理相对容易,面向特定引擎容易获得高度优化,缺点是仅能支持结构化数据、集群扩展性较差。
[0004]数据湖发展至今大约有不到10年的时间,目前主要依托于Hadoop生态,用于构建可以存储结构化、半结构化和非结构化的数据,可以面向异构数据的科学探索和价值挖掘,但是数据比较灵活,数据治理难度较大,导致数据利用程度较低。
[0005]为融合两者的优势,现阶段提出了湖本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于两层时间标识的数据湖数据增量消费方法,其特征在于,所述方法包括数据写入数据湖和查询数据湖中的数据两个阶段;(1)在数据写入数据湖阶段,(1.1)根据数据的表结构信息,在“metastore”中创建增量表,(1.2)获取本批次数据,启动一个线程作为时间服务器,客户端通过时间服务器操作系统的本地时间,生成一个时间戳T
i
,时间戳T
i
作为本批次数据写入数据湖的时间标识,(1.3)预估本批次数据包含的数据量,创建Y个文件,(1.4)根据文件个数划分本批次数据,并对应写入到Y个文件中,数据写入文件的过程中,在文件的页脚写入数据统计信息,所述数据统计信息包括该文件包含的数据量、列存储的最大值信息和最小值信息,在文件的页眉写入布隆索引,(1.5)本批次数据全部写入数据湖后,将本批次数据的写入作为Log记录到commit文件中;(2)在查询数据湖中的数据阶段,(2.1)通过执行set方法指定需要消费的增量表、起始消费的时间戳T0、每次消费的时间范围between_time,(2.2)判断步骤(2.1)中被指定的增量表是否支持增量查询,若支持,则继续执行步骤(2.3),(2.3)解析SQL语句,生成Job,在Job中获取时间戳字段“_commit_time_”的值,即起始消费的时间戳T0,(2.4)通过时间戳T0过滤当前增量表,获取满足大于时间戳T0的文件的存储路径,多个文件的存储路径形成文件lists[]数组,将文件lists[]数组返回给Job,以生成执行的task任务。2.根据权利要求1所述的一种基于两层时间标识的数据湖数据增量消费方法,其特征在于,执行步骤(1.1)创建的增量表包括表的名字、表的字段、表的存储格式以及表的实际存储位置。3.根据权利要求2所述的一种基于两层时间标识的数据湖数据增量消费方法,其特征在于,执行步骤(1.1)创建增量表时,需要增加一个时间戳字段“_commit_time_”,需要执行数据的存储格式为Parquet格式,需要提供唯一字段作为表的主键信息,支持UUID默认模式。4.根据权利要求1或3所述的一种基于两层时间标识的数据湖数据增量消费方法,其特征在于,执行步骤(1.2)将生成的时间戳T
i
作为本批次数据写入数据湖的时间标识后,客户端首先调用API接口,获取数据湖的上批次数据写入数据湖的时间戳T
i
‑1,随后对比本批次数据的时间戳T
i
和上批次数据的时间戳T
i
‑1,(a)如果时间戳T
i
小于时间戳T
i
‑1,则表示时间服务器有异常,或者,并发写入数据导...

【专利技术属性】
技术研发人员:周永进颜亮李国涛秦雪娇
申请(专利权)人:上海浪潮云计算服务有限公司
类型:发明
国别省市:

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

1