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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python 多进程和数据传递的理解
Oct 09 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
python读写配置文件操作示例
Jul 03 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
Python全栈之列表数据类型详解
Oct 01 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
Python 发送SMTP邮件的简单教程
Jun 24 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实现获取及设置用户访问页面语言类
2014/09/24 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
2013/12/30 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
python监控键盘输入实例代码
2018/02/09 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
python文件选择对话框的操作方法
2019/06/27 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
database面试题
2013/03/28 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
数学专业毕业生自荐信
2013/11/10 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
2015年推普周活动方案
2015/05/06 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫