| Apache Parquet | |
|---|---|
| Basisdaten | |
| Entwickler | Apache Parquet |
| Erscheinungsjahr | 13. März 2013 |
| Aktuelle Version | 1.18.2 (11. November 2026) |
| Programmiersprache | Java |
| Kategorie | Datenformat |
| Lizenz | Apache-Lizenz 2.0 |
| https://parquet.apache.org/ | |
Apache Parquet ist ein quelloffenes spaltenorientiertes Datenspeicher-Format und ist Basis für viele cloud-native Datenanalyse-Anwendungen. Es wurde 2013 von Twitter und Cloudera auf Basis eines Artikel über Google Dremel entwickelt.
Im Jahr 2010 veröffentlichte Sergey Melnik das VLDB 2010 Dremel Paper, in dem Google Dremel beschrieben wird. Darauf basierend entwickelten Twitter und Cloudera Parquet als effizientes spaltenorientiertes Speicherformat für Apache Hadoop. Es wurde im Juli 2013 mit der Version 1.0 veröffentlicht. Seit 27. April 2015 ist es ein Top-Level-Projekt der Apache Software Foundation.

Das binäre File-Format enthält mit „parquet.thrift“ formale Definition der Metadaten abgeleitet von Thrift. Darin ist beschrieben wie die folgenden Daten strukturiert und gespeichert sind.

| Layout einer Parquet-Datei |
|---|
#---- Parquet File ----
Header:
- Magic Number (PAR1)
- Footer-Länge (berechnetes
Offset zum Start des Footers)
#---- Row Groups ----
Row Group 1:
- Column Chunk (ID)
- Page 1 (Datenseite)
- Page 2 (Datenseite)
- Column Chunk (Teilnehmer)
- Page 1 (Datenseite)
- Page 2 (Datenseite)
- Column Chunk (Alter)
- Page 1 (Datenseite)
- Page 2 (Datenseite)
- Column Chunk (Staat)
- Page 1 (Datenseite)
- Page 2 (Datenseite)
Row Group 2:
(Weitere Column Chunks und Datenseiten)
#---- Footer ----
- Row Group Metadata:
- Zahl der Zeilen pro Row Group
- Byte offset und Datenlänge
- Column Chunk Metadata
- Column ID Metadata
- Offset und Datenlänge
- Kompressions-Algorithmus
- Encoding format
- Page Metadata
- Page Type
(Daten oder Wörterbuch)
- Offset und Datenlänge
- Min/Max Statistiken
- File Metadata:
- Schema (Spaltentypen und Sortierung)
- Erstellt von
- Key-Value Eigenschaften
- Magic Number (PAR1):
|
| Parquet-Datei mit einer Tabelle mit den Spalten: ID, Teilnehmer, Alter und Staat |
Parquet ist als Basisdateiformat in Cloud-basierten Data-Lake-Architekturen weit verbreitet. Cloud-Speichersysteme wie Amazon S3, Azure Data Lake Storage und Google Cloud Storage speichern Daten meist im Parquet-Format, da es eine effiziente spaltenorientierte Darstellung und Suchfunktionen bietet.
Data-Lake-Frameworks wie Apache Iceberg, Delta Lake, Ducklake und Apache Hudi bauen eine zusätzliche Metadatenschicht über Parquet-Dateien auf, um Funktionen wie Schema-Evolution, Time-Travel-Abfragen und ACID- konforme Transaktionen zu unterstützen. In diesen Architekturen dienen Parquet-Dateien als unveränderliche Speicherschicht, während die Data-Lake-Implementierung die Datenversionierung und Transaktionsintegrität verwaltet.