一种数据湖优化写的方法技术

技术编号:34524165 阅读:28 留言:0更新日期:2022-08-13 21:14
本发明专利技术公开了一种数据湖优化写的方法,包括步骤:数据通过客户端写入,或直接消费kafka读取数据;数据写入后进行分区,分区数据会通过历史index判断当前数据是更新还是新增的结果,更新数据和新增数据分开缓存在内存中,同时会更新index数据,分区数据还写成日志文件,当数据达到一定规模或时间达到一定阈值,将内存flush进入数据湖的文件系统中,新增数据写入insert文件中,更新数据写入update文件中;写入成功后,删除历史日志文件。本发明专利技术相对现有的spark/flink写入方案能节约约90%的内存和cpu资源。和cpu资源。和cpu资源。

【技术实现步骤摘要】
一种数据湖优化写的方法


[0001]本专利技术属于大数据
,尤其涉及一种数据湖优化写的方法。

技术介绍

[0002]数据湖在大数据场景中越来越多,开源数据湖例如iceberg,hudi,kudu等提供了高效的存储和大数据兼容。以Hudi为例,Hudi是一种数据湖的存储格式,在Hadoop文件系统之上提供了更新数据和删除数据的能力以及消费变化数据的能力。但是,在数据写入方面存在严重的不足,目前社区提供的数据导入方式主要是基于spark和flink等,在实际写入中,不管多少数据,一个数据表至少需要1个core,1g内存(简称1c1g),如果算上spark的Dirver或者flink ResouceManger等,需要2c2g内存。
[0003]另外,以hudi(参见图1)为例,实际写入过程中链路很长,对于MOR场景,每次写入数据必须和现有数据进行tag(判断数据是否已经存在),严重影响了写入的性能。在实际案例中,写入的数据竟然慢到28kB/s/1c3g。对于高代价,低产出的情况下,急需优化。
[0004]综上,目前的数据湖写入本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据湖优化写的方法,其特征在于,采用一台服务器管理一个或多个表,一个表有一个或多个分区,一个分区管理一个index,两片内存区,一个日志通道,所述方法包括以下步骤:数据通过客户端写入,或直接设置kafka consumer读取数据;数据写入后进行分区,对于分区数据通过历史index判断当前数据是更新还是新增的结果,更新数据和新增数据分开缓存在两片内存区中,同时更新index数据,并将分区数据写成log文件;当数据达到一定规模,将内存flush进入数据湖的文件系统中,新增数据写入insert文件中,更新数据写入update文件中,index写入upsert文件中;写入成功后删除日志。2.根据权利要求1所述的数据湖优化写的方法,其特征在于,index采用bloomfilter和rocksdb构建,按分区构建index,index只保留一段周期,定时删除历史index。3.根据权利要求1所述的数据湖优化写的方法,其特...

【专利技术属性】
技术研发人员:陈奉刚
申请(专利权)人:湖南兴盛优选网络科技有限公司
类型:发明
国别省市:

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

1