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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
python中requests模块的使用方法
Apr 08 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 Python
python中 logging的使用详解
Oct 25 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
Tensorflow分批量读取数据教程
Feb 07 Python
使用Python实现牛顿法求极值
Feb 10 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 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学习之整理字符串
2011/04/17 PHP
PHP合并静态文件详解
2014/11/14 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
python实现两个文件合并功能
2018/04/01 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
python实现智能语音天气预报
2019/12/02 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
人力资源管理专业学生自我评价
2013/11/20 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
博士给导师的自荐信
2015/03/06 职场文书
企业团队精神心得体会
2016/01/19 职场文书
python小程序之飘落的银杏
2021/04/17 Python