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入门篇之数字
Oct 20 Python
Python中操作符重载用法分析
Apr 29 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
Python Logging 日志记录入门学习
Jun 02 Python
Django组件cookie与session的具体使用
Jun 05 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 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/02/17 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
javascript 星级评分效果(手写)
2012/12/24 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
python遍历数组的方法小结
2015/04/30 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python机器人行走步数问题的解决
2018/01/29 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python自动下载图片的方法示例
2020/03/25 Python
keras slice layer 层实现方式
2020/06/11 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
MIS软件工程师的面试题
2016/04/22 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
小学老师寄语大全
2014/04/04 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
五好家庭事迹材料
2014/12/20 职场文书
教师个人自我评价
2015/03/04 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
找规律教学反思
2016/02/23 职场文书