Spark 2.x管理与开发-Spark SQL-使用数据源(二)Parquet文件

Posted on 2020-07-26 09:34  MissRong  阅读(180)  评论(0)    收藏  举报

 

Spark 2.x管理与开发-Spark SQL-使用数据源(二)Parquet文件

Parquet文件是一个列式存储的文件,是spark SQL默认存储的数据源。

就是普通的文件

Parquet是一个列格式而且用于多个数据处理系统中。

Spark SQL提供支持对于Parquet文件的读写,也就是自动保存原始数据的schema。

当写Parquet文件时,所有的列被自动转化为nullable,因为兼容性的缘故。

一、把json格式的文件转换成parquet格式的文件:

读入json格式的数据,将其转换成parquet格式,并创建相应的表来使用SQL进行查询。

**************自己操作*************

 

 

 

二、支持Schema的合并:

在一开始的时候,表的结构可能会很简单,但是随着需求的不断增多,表中的列需要不断地增加。

Parquet支持Schema evolution(Schema演变,即:合并)。

用户可以先定义一个简单的Schema,然后逐渐的向Schema中增加列描述。

通过这种方式,用户可以获取多个有不同Schema但相互兼容的Parquet文件。

Demo:

**********自己操作********

(1)创建两个parquet文件

 

 

 

 

 

 

 

(2)接下来合并Schema

 

 

 

 

如果”=”左边的字符串不相同:

 

 

 

 

 现在将key=1改成tanzhou=1,之后再执行一次:

 

 

 并没有报错

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3