加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据的列式存储名目:Parquet

发布时间:2018-07-05 11:52:42 所属栏目:大数据 来源:51CTO
导读:本日先容一种大数据期间著名的列式存储文件名目:Parquet,被普及用于 Spark、Hadoop 数据存储。Parquet 的中文是镶木地板,意思是布局紧凑,空间占用率高。留意,Parquet 是一种文件名目! 配景 2010年 google 颁发了一篇论文《Dremel: Interactive Analy

本日先容一种大数据期间著名的列式存储文件名目:Parquet,被普及用于 Spark、Hadoop 数据存储。Parquet 的中文是镶木地板,意思是布局紧凑,空间占用率高。留意,Parquet 是一种文件名目!

配景

2010年 google 颁发了一篇论文《Dremel: Interactive Analysis of Web-Scale Datasets》,先容了其 Dermel 体系是怎样操作列式存储打点嵌套数据的,嵌套数据就是条理数据,如界说一个班级,班级由同窗构成,同窗的信息有学号、年数、身高档。

Parquet 是 Dremel 的开源实现,作为一种列式存储文件名目,2015年称为 Apache 顶级项目,其后被 Spark 项目接收,作为 Spark 的默认数据源,在不指定读取和存储名目时,默认读写 Parquet 名目标文件。

本日不先容嵌套数据是怎样映射到每一列了,简朴来说就是把差异层级的属性拍到一级,相同降维冲击。这样,一个嵌套数据可以当作独立的多个属性,每一个属性就是一列,和表布局差不多。

写流程

固然是按列存储,但数据是一行一行来的,那什么时辰将内存中的数据写文件呢?我们知道文件只能次序写,若是每收到一行数据就写入磁盘,那就是行式存储了。

一个办理方案是为每个列开一个文件,若是数据有 n 个属性,就必要 n 个文件,每次写数据就必要追加到 n 个文件中。可是对付文件名目来说,用户必定但愿把伟大的数据存到一个文件中,而不但愿打点一堆小文件(可以想象你做了一个ppt,每一页存成了一个文件),以是一个 Parquet 文件中必需存储数据的全部属性。

另一个办理方案是在内存中缓存一些数据,等缓存到必然量后,将各个列的数据放在一路打包,这样各个包就可以按必然次序写到一个文件中。这就是列式存储的精华:按列缓存打包。

文件名目

凭证上边这种方法,Parquet 在每一列内也必要分成一个个的数据包,这个数据包就叫 Page,Page 的支解尺度可以按数据点数(如每1000行数据打成一个 Page),也可以按空间占用(如每列的数据攒到8KB合成一个 Page)。

一个 Page 的数据就是一列,范例沟通,在存储到磁盘之前一样平常城市举办编码压缩,为了快速查询、也为相识压缩这一个 Page,在写的时辰先统计一下最大最小值,叫做 PageHeader,存储在 Page 的开头,着实就是 Page 的 元数据(metadata)。PageHeader 后边就是数据了,读取一个 Page 时,可以先通过 PageHeader 举办过滤。

Parquet 又把多个 Page 放在一路存储,叫 Column Chunk。于是,每一列都由多个 Column Chunk 构成,而且也有其对应的 ColumnChunk Metadata。留意,这只是一个完备数据的一个属性,一个数据的多个属性要放在多个 Column Chunk 的,这多个 Column Chunk 放在一路就叫做一个 Row Group。

下边这就是 Parquet 官方先容:

QQ截图20180704135004

magic number 就相同水印,最后有整个文件的 Metadata。照旧看图吧,Parquet 的官方文件名目图是下面这样的:

a67B3qB

左边是数据,右边是 File Metadata。

假如认为太伟大了,可以看我画的简捷版:

Nv6JbmI

是不是清新许多!File Metadata 中有对应的 Row Group Metadata,内里尚有 Column Chunk Metadta,和数据的组织情势相同,就不睁开画了。

总结

列式存储文件名目到底有多列,取决于每列在内存中缓存的数据量,因为统一列的各个 Page 彼此独立,假如每个 Page 只缓存一个数据点,就退化成行式存储了(比行式存储还差)。因此,列式存储有一个必要留意的就是列不能太多,这是个大坑。

跟我们之前先容的文件名目比,Parquet 只是多了几层罢了,只要把握了文件名目标根基道理,各类文件名目都可以快速上手。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读