這篇文章主要介紹了Pyspark讀取parquet數(shù)據(jù)過(guò)程的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司專注于常山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。常山網(wǎng)站建設(shè)公司,為常山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)parquet數(shù)據(jù):列式存儲(chǔ)結(jié)構(gòu),由Twitter和Cloudera合作開(kāi)發(fā),相比于行式存儲(chǔ),其特點(diǎn)是:
可以跳過(guò)不符合條件的數(shù)據(jù),只讀取需要的數(shù)據(jù),降低IO數(shù)據(jù)量;壓縮編碼可以降低磁盤存儲(chǔ)空間,使用更高效的壓縮編碼節(jié)約存儲(chǔ)空間;只讀取需要的列,支持向量運(yùn)算,能夠獲取更好的掃描性能。
那么我們?cè)趺丛趐yspark中讀取和使用parquet數(shù)據(jù)呢?我以local模式,linux下的pycharm執(zhí)行作說(shuō)明。
首先,導(dǎo)入庫(kù)文件和配置環(huán)境:
import os from pyspark import SparkContext, SparkConf from pyspark.sql.session import SparkSession os.environ["PYSPARK_PYTHON"]="/usr/bin/python3" #多個(gè)python版本時(shí)需要指定 conf = SparkConf().setAppName('test_parquet') sc = SparkContext('local', 'test', conf=conf) spark = SparkSession(sc)
然后,使用spark進(jìn)行讀取,得到DataFrame格式的數(shù)據(jù):host:port 屬于主機(jī)和端口號(hào)
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ù)示格式
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Pyspark讀取parquet數(shù)據(jù)過(guò)程的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!