Pyspark讀取parquet數(shù)據(jù)過程解析
parquet數(shù)據(jù):列式存儲結(jié)構(gòu),由Twitter和Cloudera合作開發(fā),相比于行式存儲,其特點是:
可以跳過不符合條件的數(shù)據(jù),只讀取需要的數(shù)據(jù),降低IO數(shù)據(jù)量;壓縮編碼可以降低磁盤存儲空間,使用更高效的壓縮編碼節(jié)約存儲空間;只讀取需要的列,支持向量運算,能夠獲取更好的掃描性能。
那么我們怎么在pyspark中讀取和使用parquet數(shù)據(jù)呢?我以local模式,linux下的pycharm執(zhí)行作說明。
首先,導(dǎo)入庫文件和配置環(huán)境:
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進(jìn)行讀取,得到DataFrame格式的數(shù)據(jù):host:port 屬于主機和端口號
parquetFile = r"hdfs://host:port/Felix_test/test_data.parquet"
df = spark.read.parquet(parquetFile)
而,DataFrame格式數(shù)據(jù)有一些方法可以使用,例如:
1.df.first() :顯示第一條數(shù)據(jù),Row格式
print(df.first())

2.df.columns:列名
3.df.count():數(shù)據(jù)量,數(shù)據(jù)條數(shù)
4.df.toPandas():從spark的DataFrame格式數(shù)據(jù)轉(zhuǎn)到Pandas數(shù)據(jù)結(jié)構(gòu)
5.df.show():直接顯示表數(shù)據(jù);其中df.show(n) 表示只顯示前n行信息
6.type(df):顯數(shù)據(jù)示格式

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決python多行注釋引發(fā)縮進(jìn)錯誤的問題
今天小編就為大家分享一篇解決python多行注釋引發(fā)縮進(jìn)錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python標(biāo)準(zhǔn)庫之urllib和urllib3的使用及說明
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫之urllib和urllib3使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

