真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

Parquet有什么特點

這篇文章主要介紹“Parquet有什么特點”,在日常操作中,相信很多人在Parquet有什么特點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Parquet有什么特點”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

專注于為中小企業(yè)提供網站建設、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)郾城免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

寫流程

雖然是按列存儲,但數據是一行一行來的,那什么時候將內存中的數據寫文件呢?我們知道文件只能順序寫,假如每收到一行數據就寫入磁盤,那就是行式存儲了。

一個解決方案是為每個列開一個文件,假如數據有 n 個屬性,就需要 n 個文件,每次寫數據就需要追加到 n 個文件中。但是對于文件格式來說,用戶肯定希望把復雜的數據存到一個文件中,而不希望管理一堆小文件(可以想象你做了一個ppt,每一頁存成了一個文件),所以一個 Parquet 文件中必須存儲數據的所有屬性。

另一個解決方案是在內存中緩存一些數據,等緩存到一定量后,將各個列的數據放在一起打包,這樣各個包就可以按一定順序寫到一個文件中。這就是列式存儲的精髓:按列緩存打包。

文件格式

按照上邊這種方式,Parquet 在每一列內也需要分成一個個的數據包,這個數據包就叫 Page,Page 的分割標準可以按數據點數(如每1000行數據打成一個 Page),也可以按空間占用(如每列的數據攢到8KB合成一個 Page)。

一個 Page 的數據就是一列,類型相同,在存儲到磁盤之前一般都會進行編碼壓縮,為了快速查詢、也為了解壓縮這一個 Page,在寫的時候先統計一下最大最小值,叫做 PageHeader,存儲在 Page 的開頭,其實就是 Page 的 元數據(metadata)。PageHeader 后邊就是數據了,讀取一個 Page 時,可以先通過 PageHeader 進行過濾。

Parquet 又把多個 Page 放在一起存儲,叫 Column Chunk。于是,每一列都由多個 Column Chunk 組成,并且也有其對應的 ColumnChunk Metadata。注意,這只是一個完整數據的一個屬性,一個數據的多個屬性要放在多個 Column Chunk 的,這多個 Column Chunk 放在一起就叫做一個 Row Group。

下邊這就是 Parquet 官方介紹:

4-byte magic number "PAR1"


...



...

...


...

File Metadata
4-byte length in bytes of file metadata
4-byte magic number "PAR1"

magic number 就類似水印,最后有整個文件的 Metadata。還是看圖吧,Parquet 的官方文件格式圖是下面這樣的:

Parquet有什么特點

左邊是數據,右邊是 File Metadata。

如果覺得太復雜了,可以看我畫的簡潔版:

Parquet有什么特點

是不是清爽很多!File Metadata 中有對應的 Row Group Metadata,里面還有 Column Chunk Metadta,和數據的組織形式類似,就不展開畫了。

到此,關于“Parquet有什么特點”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
本文題目:Parquet有什么特點
分享URL:http://weahome.cn/article/posgoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部