大數據檔案格式

最後更新: 2026-08-09 00:01:43 +0800 +0800
原文以英文撰寫。您正在閱讀AI翻譯版本。

大數據檔案格式需要在儲存效率、結構描述演進與查詢速度之間取捨。最佳選擇取決於工作負載主要是掃描記錄、跨許多資料列讀取少數欄位,還是在系統之間交換事件。

以資料列為導向的格式 #

以資料列為導向的格式會將一筆記錄的欄位放在一起。Avro 是常見範例。它適合串流、事件交換與寫入密集型工作負載,因為讀取完整記錄很有效率。Avro 會將寫入端結構描述與資料一同儲存,並提供明確的結構描述解析規則,以支援相容的演進。

以欄為導向的格式 #

Parquet 與 ORC 依欄組織資料。分析引擎只需讀取查詢所需的欄位,對相似值套用壓縮與編碼,並使用檔案或資料列群組統計資料略過資料。這些特性使它們成為大型分析資料表的良好預設選擇。

分割是目錄層級的配置慣例,不是 Parquet 固有的屬性。資料表可以依日期等低至中基數的欄位分割,而每個分割包含 Parquet 檔案。避免建立過多微小分割或檔案;中繼資料與排程的負荷可能超過其帶來的效益。

實務選擇 #

資料湖分析可使用 Parquet 等欄式格式。當管線適合以資料列為導向且支援結構描述演進的訊息或記錄格式時,使用 Avro。當特定以 Hive 為中心的工作負載受益於 ORC 的生態系整合或功能時,選擇 ORC。無論格式為何,都應將結構描述、檔案大小、壓縮與分割納入資料表設計的一部分。

評論

在 GitHub 上閱讀或評論(發表評論需要登入)