Pyspark读取parquet数据过程解析
作者:落日峡谷 发布时间:2022-01-21 13:33:38
标签:py,spark,parquet,数据
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())
2.df.columns:列名
3.df.count():数据量,数据条数
4.df.toPandas():从spark的DataFrame格式数据转到Pandas数据结构
5.df.show():直接显示表数据;其中df.show(n) 表示只显示前n行信息
6.type(df):显数据示格式
来源:https://www.cnblogs.com/qi-yuan-008/p/12493082.html
0
投稿
猜你喜欢
- python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示:import cv2# 获取本地摄像头# folder_path
- 一、低配logging日志总共分为以下五个级别,这个五个级别自下而上进行匹配 debug-->info-->warning--&
- 普通查询按照所需字段排序db_set.find().sort("field_name ",pymongo.ASCENDI
- 1.安装less依赖:npm install less less-loader --save 2.修改webpack.base.config
- python中可以使用下标索引来访问列表中的值,对列表进行切片即截取,也可以对列表的数据项进行修改或更新。使用下标索引来访问列表中的值,例如
- 我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多
- 目录前言1.使用全局统一覆盖2.在.vue文件中修改3.修改组件的style样式4. 参考element-ui官方文档的api疑问总结前言修
- 两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2
- 我们平日办公时用得最多的软件是Execl、Word或WPS Office等,你的计算机中一定储存着大量的XLS、DOC、WPS文件吧!网页制
- 想跟大家聊聊关于 mysql 中的两个小的知识点:redo log 和 binlog 。redo log :InnoDB 存储引擎层方面的日
- 每个 batch 前清空梯度,否则会将不同 batch 的梯度累加在一块,导致模型参数错误。然后我们将输入和目标张量都移动到所需的设备上,并
- 邮件自动化篇章所需的新模块:smtplib 邮件协议与发送模块email 内容定义模块schedule 定时模块smtplib 与 emai
- 文件操作TXT文件读取txt文件读取txt文件全部内容:def read_all(txt): ...: &nbs
- 本文实例讲述了PHP abstract 抽象类定义与用法。分享给大家供大家参考,具体如下:PHP抽象类应用要点:1.定义一些方法,子类必须完
- 关于一些代码里的解释,可以看我上一篇发布的文章,里面有很详细的介绍!!!可以依次把下面的代码段合在一起运行,也可以通过jupyter not
- python读取pdf文档一、 准备工作安装对应的库pip install pdfminer3kpip install pdfminer.s
- 成功解决ValueError: Supported target types are: ('binary', 'mu
- <!--#include file="Include/Conn.asp"--><%If(Request
- 1. 什么是虚拟环境?虚拟环境的意义,就如同 虚拟机 一样,它可以实现不同环境中Python依赖包相互独立,互不干扰。举个例子吧。假设我们的
- 一、安装第三方库是可能出现如下错误提示:二、解决办法:最好的解决办法可以通过“Pycharm”左下角