第65课:SparkSQL下Parquet深入进阶学习笔记

来源:互联网 发布:单页面网站源码 编辑:程序博客网 时间:2024/05/22 06:15

第65课:SparkSQLParquet深入进阶

本期内容:

1  SparkSQL下的Parquet序列化

2  SparkSQL下的Parquet源码解读

3  SparkSQLParquet总结

 

 

Parquet中关键概念:

1 Block

2 File

3 Column Chunk

数据按列存储时,每一列的数据被分割成多个列块。存储逻辑视图:RowGroup。每一列的列簇组合起来就叫RowGroupRowGroupPage方式存储的

Page的概念:从逻辑抽象上来看,每一个列块被分割成PagePage是压缩和编码的最小单位。一个Parquet文件中最少包含一个RowGroup。每个RowGroup一般情况下会包含多个列块,即column chunk。每个列仅仅对应一个列块,每个列块包含一个或多个Page。从结果上讲,可以认为一个数据块就是一个Block等同于一个RowGroup。这和HDFS的数据块完全不同。

Parquet包含元数据,元数据有几种类型:

1  文件的元数据

2  RowGroup的元数据

3  列块的元数据

 

Parquet的序列化和反序列化占用读写Parquet文件时间的60--80%

 

从使用接口的角度来看Spark SQL Parquet图:

 




以上内容是王家林老师DT大数据梦工厂《 IMF传奇行动》第65课的学习笔记。
王家林老师是Spark、Flink、Docker、Android技术中国区布道师。Spark亚太研究院院长和首席专家,DT大数据梦工厂创始人,Android软硬整合源码级专家,英语发音魔术师,健身狂热爱好者。

微信公众账号:DT_Spark

联系邮箱18610086859@126.com 

电话:18610086859

QQ:1740415547

微信号:18610086859  

新浪微博:ilovepains


0 0
原创粉丝点击