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中多线程及程序锁浅析
Jan 21 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
简单的python协同过滤程序实例代码
Jan 31 Python
python实现微信小程序自动回复
Sep 10 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
python数据预处理 :数据抽样解析
Feb 24 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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
input file获得文件根目录简单实现
2013/04/26 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JavaScript实现的九种排序算法
2019/03/04 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
python编程嵌套函数实例代码
2018/02/11 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
公司司机岗位职责
2014/02/07 职场文书
银行简历自我评价
2014/02/11 职场文书
导师评语大全
2014/04/26 职场文书
天堂的孩子观后感
2015/06/11 职场文书