Pyspark读取parquet数据过程解析


Posted in Python onMarch 27, 2020

parquet数据:列式存储结构,由Twitter和Cloudera合作开发,相比于行式存储,其特点是:

可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量;压缩编码可以降低磁盘存储空间,使用更高效的压缩编码节约存储空间;只读取需要的列,支持向量运算,能够获取更好的扫描性能。

那么我们怎么在pyspark中读取和使用parquet数据呢?我以local模式,linux下的pycharm执行作说明。

首先,导入库文件和配置环境:

import os
from pyspark import SparkContext, SparkConf
from pyspark.sql.session import SparkSession

os.environ["PYSPARK_PYTHON"]="/usr/bin/python3" #多个python版本时需要指定

conf = SparkConf().setAppName('test_parquet')
sc = SparkContext('local', 'test', conf=conf)
spark = SparkSession(sc)

然后,使用spark进行读取,得到DataFrame格式的数据:host:port 属于主机和端口号

parquetFile = r"hdfs://host:port/Felix_test/test_data.parquet"
df = spark.read.parquet(parquetFile)

而,DataFrame格式数据有一些方法可以使用,例如:

1.df.first() :显示第一条数据,Row格式

print(df.first())

Pyspark读取parquet数据过程解析

2.df.columns:列名

3.df.count():数据量,数据条数

4.df.toPandas():从spark的DataFrame格式数据转到Pandas数据结构

5.df.show():直接显示表数据;其中df.show(n) 表示只显示前n行信息

6.type(df):显数据示格式

Pyspark读取parquet数据过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python文件操作之目录遍历实例分析
May 20 Python
利用python代码写的12306订票代码
Dec 20 Python
python3.5使用tkinter制作记事本
Jun 20 Python
Python实现的密码强度检测器示例
Aug 23 Python
python3+PyQt5泛型委托详解
Apr 24 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
python实现IOU计算案例
Apr 12 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
Python基于pyecharts实现关联图绘制
Mar 27 #Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 #Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 #Python
Python itertools.product方法代码实例
Mar 27 #Python
python实现图像全景拼接
Mar 27 #Python
如何在Python 游戏中模拟引力
Mar 27 #Python
Python 实现平台类游戏添加跳跃功能
Mar 27 #Python
You might like
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
HTML DOM的nodeType值介绍
2011/03/31 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
python实现自动化上线脚本的示例
2019/07/01 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Python如何使用函数做字典的值
2019/11/30 Python
python计算二维矩形IOU实例
2020/01/18 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
拖鞋店创业计划书
2014/01/15 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
暑期培训心得体会
2014/09/02 职场文书
小学国庆节活动总结
2015/03/23 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL