Skip to Content

什麼是 Parquet 檔案?

Apache Parquet 檔案是一種開源資料儲存格式,用於分析查詢的欄式資料庫。如果您有小型資料集,但要搜尋的行數數百萬,最好使用欄式格式來提升效能。欄式資料庫透過將欄分組來儲存資料,而不是將資料分組的標準列式資料庫。Parquet 檔案是數種欄式儲存格式之一。

什麼是 Parquet 檔案?

Apache Parquet 檔案群組不會將 Excel 試算表或標準關聯式資料庫等資料列分組,而是將資料列在一起,以提升效能。Parquet 是一種欄式儲存格式,而非資料庫本身,但 Parquet 格式在資料湖泊中很常見,尤其是在 Hadoop 中。因為這是欄式格式,所以很受分析資料儲存和查詢的歡迎。

大多數的開發人員都使用行式資料儲存,但想像旋轉 Excel 試算表,以便現在顯示欄來取代編號行。舉例來說,Parquet 檔案會將每個名字與姓氏組合成一列,而不是將名字與姓氏列的清單保留在客戶表格上,這樣一來,資料庫就可以更快速地從特定列傳回資訊,而不必搜尋包含許多列的每一列。 

Parquet 檔案的優點

除了根據 Parquet 檔案儲存資料的方式進行查詢效能外,另一個主要優勢是成本效益。Apache Parquet 檔案具有高效率的壓縮和解壓縮功能,因此不會比標準資料庫檔案佔用太多空間。透過減少儲存空間,企業組織可以節省數千美元的儲存成本。

欄式儲存格式最適合用於大數據和分析查詢。Parquet 檔案可以儲存影像、影片、物件、檔案和標準資料,因此可用於任何類型的分析應用程式。由於 Parquet 檔案策略是開放原始碼,因此也適合想要自訂資料儲存和查詢策略的組織。

Parquet 檔案如何運作

Parquet 檔案包含欄式儲存,但也包含中繼資料 這些資料欄在各行群組中分組,以達到查詢效率,而中繼資料則有助於資料庫引擎找出資料。中繼資料包含有關欄、包含資料的列群組,以及架構的資訊。 

Parquet 檔案中的架構描述了以欄為基礎的儲存方法。Schema 格式為二進位格式,可用於 Hadoop 資料湖泊環境。Parquet 檔案可以儲存在任何檔案系統中,因此不限於 Hadoop 環境。

Parquet 檔案儲存格式的一個優勢是一種稱為預先推動的策略。資料庫引擎在處理初期會預先進行資料篩選,以便將更精準的資料傳輸到管道中。透過減少針對查詢的資料量,可改善查詢效能。減少資料處理也會減少電腦資源的使用,最終也降低成本。

使用 Parquet 檔案

Parquet 檔案是 Apache 檔案,因此只要匯入數個函式庫,您就可以使用自己的 Python 指令碼建立檔案。假設您在 Python 中有一個表格:

import numpy as np
 import pandas as pd
 import pyarrow as pa
 df = pd.DataFrame({'one': [-1, 4, 1.3],
                   'two': ['blue', 'green', 'white'],
                   'three': [False, False, True]},
                   index=list('abc'))
 table = pa.Table.from_pandas(df)

透過此表格,我們現在可以建立一個 Parquet 檔案:

import pyarrow.parquet as pq
 pq.write_table(table, 'mytable.parquet')

上述程式碼會建立檔案 “mytable.parquet”,並將表格寫入其中。您現在可以從喜愛的資料庫讀取資料並匯入資料,或是將資料用於自己的查詢和分析。

您也可以使用 Python 從檔案讀取此表格:

pq.read_table('mytable.parquet', columns=['one', 'three'])

write()功能可讓您在將表格寫入檔案時設定選項。您可以在 Apache 的網站上找到選項清單,但以下是設定檔案與 Apache Spark 相容性的範例

import numpy as np
 import pandas as pd
 import pyarrow as pa
 df = pd.DataFrame({'one': [-1, 4, 1.3],
                   'two': ['blue', 'green', 'white'],
                   'three': [False, False, True]},
                   flavor=’spark’)
 table = pa.Table.from_pandas(df)

結論

如果您打算將 Parquet 檔案用於 Hadoop、Apache Spark 或其他相容的資料庫,您可以使用 Python 自動建立檔案,或將檔案匯入資料庫環境進行分析。Parquet 檔案使用壓縮來降低儲存空間需求,但您仍然需要過多的儲存容量來儲存大數據孤島。Pure Storage 的重複資料刪除和壓縮技術可協助您處理大數據儲存

11/2024
Pure Storage FlashArray//X
強大效能,加速關鍵應用程式
資料文件
5 頁

查看重要資訊與活動

影片
觀看影片:企業級資料雲端的價值。

Charlie Giancarlo 討論管理為何管理資料才是未來趨勢,而非儲存設備。發掘整合式做法如何革新企業級 IT 作業。

立即觀看
資源
傳統儲存裝置無法驅動未來。

現代化工作負載需求必須達到 AI 級速度、安全性與規模。您的技術棧準備好了嗎?

進行評估
PURE360 示範
探索、認識、體驗 Pure Storage。

存取隨取隨用影片與示範,了解 Pure Storage 的強大功效。

觀賞示範影片
精神領袖
創新競賽

儲存創新最前線的產業領導者最新深度資訊與觀點。

了解更多資訊
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。

Personalize for Me
Steps Complete!
1
2
3
Thinking...