第65课:Spark SQL下Parquet深入进阶

33 篇文章 0 订阅
6 篇文章 0 订阅

内容:

    Spark SQl下的Parquet的序列化
    SparkSQL下的Parquet源码解析
    SparkSQL的Parquet总结

一、Spark SQl下的Parquet的序列化

    1.block:parquet层面和row group是一个意思
    2.row group:逻辑概念,用于对row进行分区。由数据集中每个column的column chunk组成。是读写过程中的缓存单元,一般在hdfs上推荐一个block为1GB,一个HDFS文件1个bolock
    3.column chunk:某个column的所有数据被称为column chunk,存在与row group,并保证在文件中是连续的
    4.page:多个column chunk之间用page分开,也就是说一个page只会包含一个column的数据,一个page是一个独立的单元(可以被编码或者压缩)
    5.dictionary page:每个page之前都可以选择是否需要dictionary page。dictionary page记录了该page所有不同的值。这可以增强处理速度提高压缩率。
    6.arquet存储数据有以下优点:
        a)数据即索引,查询是可以跳过不符合条件的数据,只读取需要的数据,降低 IO 数据量(行存储没有索引查询时造成大量 IO,建立索引和物化视图代价较大)
        b)只读取需要的列,进一步降低 IO 数据量,加速扫描性能(行存储会扫描所有列)
        c)由于同一列的数据类型是一样的,可以使用高效的压缩编码来节约存储空间

 

Parquet的详细内容:quet列式存储格式笔记 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值