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实现端口复用实例代码
Jul 03 Python
Python标准库之Sys模块使用详解
May 23 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
python字符串与url编码的转换实例
May 10 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python射线法判断一个点在图形区域内外
Jun 28 Python
python内置函数sorted()用法深入分析
Oct 08 Python
详解python常用命令行选项与环境变量
Feb 20 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 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中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
在Python下尝试多线程编程
2015/04/28 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
对python判断是否回文数的实例详解
2019/02/08 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
师恩难忘教学反思
2014/04/27 职场文书
服务承诺书
2015/01/19 职场文书
研究生个人学年总结
2015/02/14 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
中学社团活动总结
2015/05/07 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
详解如何用Python实现感知器算法
2021/06/18 Python
vue实力踩坑之push当前页无效
2022/04/10 Vue.js