拚花

免費試用Databricks

什麼是拚花?

Apache Parquet是一種開源的、麵向列的數據文件格式,設計用於高效的數據存儲和檢索。它提供了高效的數據壓縮和編碼方案,增強了處理批量複雜數據的性能。Apache Parquet被設計為用於批處理和交互式工作負載的通用交換格式。中可用的其他柱狀存儲文件格式類似Hadoop,即RCFile和ORC。

拚花的特點

  • 免費和開源的文件格式。
  • 語言不可知論者。
  • 基於列的格式-文件按列組織,而不是按行,節省存儲空間,加快分析查詢。
  • 用於分析(OLAP)用例,通常與傳統的OLTP數據庫結合使用。
  • 高效數據壓縮和解壓縮。
  • 支持複雜數據類型以及高級嵌套數據結構。

拚花的好處

  • 適合存儲任何類型的大數據(結構化數據表、圖像、視頻、文檔)。
  • 節省雲存儲空間通過對具有不同數據類型的列使用高效的列壓縮和靈活的編碼方案。
  • 提高數據吞吐量和性能使用數據跳過等技術,這樣獲取特定列值的查詢不需要讀取整行數據。

Apache Parquet是使用記錄分解和彙編算法實現的,該算法適應可用於存儲數據的複雜數據結構。Parquet經過優化,可大量處理複雜數據,並具有高效數據壓縮和編碼類型的不同方法。這種方法特別適合那些需要從大型表中讀取某些列的查詢。Parquet隻能讀取所需的列,因此極大地減少了IO。

以柱狀格式存儲數據的優點:

  • 像Apache Parquet這樣的柱狀存儲與基於行的文件(如CSV)相比具有更高的效率。在查詢時,柱狀存儲可以快速跳過不相關的數據。因此,與麵向行的數據庫相比,聚合查詢更節省時間。這種存儲方式節省了硬件,並最小化了訪問數據的延遲。
  • Apache Parquet是從頭開始建造的。因此,它能夠支持高級的嵌套數據結構。Parquet數據文件的布局針對處理大量數據的查詢進行了優化,每個單獨的文件都在千兆字節範圍內。
  • Parquet支持靈活的壓縮選項和高效的編碼方案。由於每個列的數據類型非常相似,因此每個列的壓縮非常簡單(這使得查詢更快)。數據可以通過使用幾種可用的編解碼器之一進行壓縮;因此,不同的數據文件可以以不同的方式壓縮。
  • Apache Parquet最適合與交互式和無服務器技術(如AWS Athena、Amazon Redshift Spectrum、穀歌BigQuery和穀歌Dataproc)協作。

Parquet和CSV的區別

CSV是一種簡單而通用的格式,被許多工具使用,如Excel,穀歌Sheets和許多其他工具。即使CSV文件是數據處理管道的默認格式,它也有一些缺點:

  • 亞馬遜雅典娜和Spectrum將根據每次查詢掃描的數據量收費。
  • 穀歌和Amazon將根據GS/S3上存儲的數據量向您收費。
  • 穀歌Dataproc收費是基於時間的。

Parquet已經幫助用戶在大型數據集上減少了至少三分之一的存儲需求,此外,它還大大提高了掃描和反序列化時間,從而降低了總體成本。下表比較了將數據從CSV轉換為Parquet所獲得的節省和加速。

數據集

Amazon S3上的大小

查詢運行時間

數據掃描

成本

以CSV格式存儲的數據

1 TB

236秒

1.15結核病

5.75美元

以Apache Parquet格式存儲的數據

130 GB

6.78秒

2.51 GB

0.01美元

儲蓄

使用Parquet時減少87%

快34倍

掃描數據減少99%

99.7%的儲蓄

拚花和三角洲湖

開源三角洲湖項目構建並擴展了Parquet格式,添加了額外的功能,如雲對象存儲上的ACID事務、時間旅行、模式演化和簡單的DML命令(CREATE/UPDATE/INSERT/DELETE/MERGE)。Delta Lake通過使用有序的事務日誌實現了許多重要的特性,這使得數據倉庫功能在雲對象存儲上成為可能。在Databricks博客文章中了解更多信息潛入Delta Lake:打開事務日誌

額外的資源

回到術語表
Baidu
map