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.0与2.X版本的区别实例分析
Aug 25 Python
python分析网页上所有超链接的方法
May 08 Python
Python基础知识_浅谈用户交互
May 31 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
Python如何获取文件路径/目录
Sep 22 Python
python中PyQuery库用法分享
Jan 15 Python
python神经网络编程之手写数字识别
May 08 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 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实现的获取URL信息的类
2007/01/02 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
PHP goto语句用法实例
2019/08/06 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
奖学金自我鉴定范文
2013/10/03 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
学期个人工作总结
2015/02/13 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL