parquet

作者: 大飞飞_s8 | 来源:发表于2019-08-21 00:09 被阅读0次

    2019-08-20

    parquet

    1、parquet是一种能够有效存储嵌套数据的列式存储格式,脱胎于Google一篇关于dremel的论文

    2、parquet项目分为两部分,1.与语言无关的方式来定义文件格式的parquet规范 2.不同语言的规范实现

    3、数据模型:定义了几个院子数据类型 boolean int32 int64 int96 float double binary fixed_len_byte_array 固定数量的8位无符号字节  逻辑类型包括:utf8 enum decimal date list map 利用group来描述复杂的嵌套类型

    4、嵌套编码:parquet使用的是dremel编码方法,即模式中的每个原子类型的字段都单独存储为一列,且每个值都通过两个整数来对其结构进行编码。这两个整数分别是:列定义深度 和 列元素重复次数。

    5、parquet文件由一个文件(header)、一个或多个紧随其后的文件块(block),以及一个用于结尾的文件尾(footer)构成。文件尾元数据包括文件格式的版本信息、模式信息、额外的键值对以及所有块的元数据信息。文件尾的两字段分别是一个4字节字段(包括文件尾的元数据长度和编码)和 -个par1 ( 与文件头中的相同)

    6、parquet文件配置:parquet文件块大小不能超过hdfs块大小,只有这样才能使每个parquet文件块只读一个hdfs块,页是parquet的最小存储单元,因此想读取任意一行的数据,就必须包含对页的解压缩和解编码处理,找到单行数据,页越小,效率就越高,但是较小的页会带来较大的存储和处理开销

    7、parquet文件读写

    7.7、大多数情况下,我们会使用高级工具来处理parquet文件的读写,入pig hive impala

    相关文章

      网友评论

          本文标题:parquet

          本文链接:https://www.haomeiwen.com/subject/atdvsctx.html