[发明专利]列式存储数据的组织方法、装置及存储介质有效
申请号: | 201811362021.2 | 申请日: | 2018-11-15 |
公开(公告)号: | CN111190895B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 魏煜;桂超贤 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 数据 组织 方法 装置 介质 | ||
本发明实施例提出一种列式存储数据的组织方法、装置及计算机可读存储介质。其中列式存储数据的组织方法包括:创建列式存储格式的第一组织文件,所述第一组织文件中包括一个行组;获取多个列式存储格式的待拼接文件的数据;将所述待拼接文件的数据,采用重编码组织方式在所述第一组织文件的所述一个行组中进行拼接。本发明实施例通过拼接列式存储格式的小文件,使得在查询时只需要读单个文件,并且只需要读取一个行组,寻道时间只有一次,从而使查询速度更快,显著减少了因处理大量小文件所导致的数据分析查询时间。
技术领域
本发明涉及信息技术领域,尤其涉及一种列式存储数据的组织方法、装置及计算机可读存储介质。
背景技术
关系型数据是指以关系数学模型来表示的数据,其中,关系数学模型中以二维表的形式来描述数据。关系型数据的数据结构中,通常一行数据由多个属性组成,每个属性是关系表结构中的一列数据。关系型数据库是存储在计算机上的、可共享的、有组织的关系型数据的集合。不同的写文件顺序对应了关系型数据库的不同的存储方式。传统关系型数据库通常采用行式存储。行式存储是将各行放入连续的物理位置,即先存一行数据,再存下一行数据。列式存储是相对于传统关系型数据库的行式存储来说的。列式存储通常将不同数据的同一个属性值存在一起,因为每一个属性在表中是一列数据,所以很直观地将这种存储模型称为列式存储。列存储法的方式主要适合于批量数据处理和即时查询。
对于列式存储文件格式,在数据处理过程中,会产生大量的小文件,进而会导致数据分析查询时间增长。parquet是一种列式存储文件格式,以parquet文件为例,在数据ETL(Extract-Transform-Load,中文名称为数据抽取、交互转换和加载)过程中,为了加快数据产出,会使用多个线程并行产出parquet文件。因此并发越高,产出的文件数量也越多,单个文件大小也越小。如何组织种列式存储数据,以提高数据分析查询的效率,是目前亟待解决的问题。
发明内容
本发明实施例提供一种列式存储数据的组织方法、装置及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种列式存储数据的组织方法,包括:创建列式存储格式的第一组织文件,所述第一组织文件中包括一个行组;获取多个列式存储格式的待拼接文件的数据;将所述待拼接文件的数据,采用重编码组织方式在所述第一组织文件的所述一个行组中进行拼接。
在一种实施方式中,获取多个列式存储格式的待拼接文件的数据之前,还包括:创建列式存储格式的第二组织文件,所述第二组织文件中包括多个行组。
在一种实施方式中,所述方法还包括:将所述待拼接文件的数据,采用二进制流组织方式在所述第二组织文件中进行拼接;在所述第二组织文件拼接完成后,利用所述第二组织文件作为查询文件;在所述第一组织文件拼接完成后,利用所述第一组织文件替换所述第二组织文件作为查询文件。
在一种实施方式中,获取多个列式存储格式的待拼接文件的数据,包括:将所述待拼接文件的数据读入内存;将所述待拼接文件的数据,采用重编码组织方式在所述第一组织文件的所述一个行组中进行拼接,包括:从内存中调取所述待拼接文件的数据,并将所述待拼接文件的数据在所述第一组织文件的所述一个行组中进行拼接;和/或,将所述待拼接文件的数据,采用二进制流组织方式在所述第二组织文件中进行拼接,包括:从内存中调取所述待拼接文件的数据,并将所述待拼接文件的数据在所述第二组织文件中进行拼接。
在一种实施方式中,将多个所述待拼接文件的数据,采用二进制流组织方式在所述第二组织文件中进行拼接,包括:读取所述待拼接文件的行组,并将所述待拼接文件的行组追加到所述第二组织文件的行组中;更新所述第二组织文件中的底部数据。
在一种实施方式中,更新所述第二组织文件中的底部数据,包括:读取所述待拼接文件的底部数据中的元数据,将所述元数据追加到所述第二组织文件的底部数据的元数据中;更新追加的元数据中的偏移量信息;更新所述第二组织文件的底部数据的长度信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811362021.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种路口引导方法和装置
- 下一篇:用于电池包的箱体及电池包
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置