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/2020
VMware Hybrid Cloud Solution Brief | Solution Brief
Hybrid cloud and container adoption are growing rapidly. Advance to an effortless, optimized VMware environment.
解決方案簡介
3 頁面
聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

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