Kurz gesagt
- Apache Parquet ist ein binäres, spaltenorientiertes Datenformat, das Tabellen in Zeilengruppen und Spaltenblöcken speichert, wobei die Lesbarkeit von den unterstützten Funktionen des Readers abhängt.
- Auf einem Windows-PC oder Mac mit verfügbarem Python und PyArrow: import pyarrow.parquet as pq und anschließend table = pq.read_table('datei.parquet') ausführen. table.to_pandas() erstellt einen DataFrame. Einzelne Spalten liest pq.read_table('datei.parquet', columns=['spalte']); eine Zeilengruppe liest pq.ParquetFile('datei.parquet').read_row_group(0). Diese Beispiele lesen eine lokale Datei auf einem Computer. Liegt die Datei auf einem Smartphone, sie zuerst auf einen Computer kopieren und dort dieselben Schritte ausführen.
- Ausführbarer Inhalt wird in Parquet nicht erwartet, beliebige oder sensible Daten sind jedoch möglich. Implementierung und Lesekonfiguration sind entscheidend: CVE-2025-46762 betrifft Codeausführung in parquet-avro mit den Modellen specific oder reflect. Das Modell generic ist von dieser Schwachstelle nicht betroffen; der Eintrag empfiehlt ein Upgrade auf 1.15.2. Andere Risiken sind dadurch nicht ausgeschlossen. Modulare Verschlüsselung kann Bereiche unverschlüsselt lassen; AES CTR allein authentifiziert Daten nicht.
Apache-Parquet-Dateien öffnen, lesen und konvertieren
Die registrierte Erweiterung lautet .parquet, der Medientyp application/vnd.apache.parquet. Jede Zeilengruppe enthält Spaltenblöcke. Metadaten am Dateiende ermöglichen das Auffinden der benötigten Blöcke; darauf folgen die Metadatenlänge als vier Byte in Little-Endian-Reihenfolge und die Endmarkierung. Gewöhnliche Dateien verwenden PAR1, Dateien mit verschlüsseltem Footer PARE. Siehe die [offizielle Formatbeschreibung](https://parquet.apache.org/docs/file-format/).
Die Datei zunächst als Arrow-Tabelle lesen und bei Bedarf mit table.to_pandas() in einen DataFrame umwandeln. Für Parquet nach CSV anschließend ein Werkzeug mit CSV-Export verwenden. Das Ergebnis prüfen: Anwendungsinformationen wie ein pandas-Index können verloren gehen. pq.write_table(table, 'ausgabe.parquet') schreibt Parquet. Ein beim Erstellen der Arrow-Tabelle ausgelassener Index wird beim erneuten Lesen nicht wiederhergestellt.
So bekommst du sie auf
Auf einem Windows-PC oder Mac mit verfügbarem Python und PyArrow: import pyarrow.parquet as pq und anschließend table = pq.read_table('datei.parquet') ausführen. table.to_pandas() erstellt einen DataFrame. Einzelne Spalten liest pq.read_table('datei.parquet', columns=['spalte']); eine Zeilengruppe liest pq.ParquetFile('datei.parquet').read_row_group(0). Diese Beispiele lesen eine lokale Datei auf einem Computer. Liegt die Datei auf einem Smartphone, sie zuerst auf einen Computer kopieren und dort dieselben Schritte ausführen.
Auf einem Windows-PC oder Mac mit verfügbarem Python und PyArrow: import pyarrow.parquet as pq und anschließend table = pq.read_table('datei.parquet') ausführen. table.to_pandas() erstellt einen DataFrame. Einzelne Spalten liest pq.read_table('datei.parquet', columns=['spalte']); eine Zeilengruppe liest pq.ParquetFile('datei.parquet').read_row_group(0). Diese Beispiele lesen eine lokale Datei auf einem Computer. Liegt die Datei auf einem Smartphone, sie zuerst auf einen Computer kopieren und dort dieselben Schritte ausführen.
Die Datei zunächst als Arrow-Tabelle lesen und bei Bedarf mit table.to_pandas() in einen DataFrame umwandeln. Für Parquet nach CSV anschließend ein Werkzeug mit CSV-Export verwenden. Das Ergebnis prüfen: Anwendungsinformationen wie ein pandas-Index können verloren gehen. pq.write_table(table, 'ausgabe.parquet') schreibt Parquet. Ein beim Erstellen der Arrow-Tabelle ausgelassener Index wird beim erneuten Lesen nicht wiederhergestellt.
Dateisicherheit
Ausführbarer Inhalt wird in Parquet nicht erwartet, beliebige oder sensible Daten sind jedoch möglich. Implementierung und Lesekonfiguration sind entscheidend: CVE-2025-46762 betrifft Codeausführung in parquet-avro mit den Modellen specific oder reflect. Das Modell generic ist von dieser Schwachstelle nicht betroffen; der Eintrag empfiehlt ein Upgrade auf 1.15.2. Andere Risiken sind dadurch nicht ausgeschlossen. Modulare Verschlüsselung kann Bereiche unverschlüsselt lassen; AES CTR allein authentifiziert Daten nicht.
Unbekannter Absender, ein Name mit zwei Endungen oder ein Inhalt, der nicht zur Endung passt — erst prüfen, dann öffnen.
Umwandeln
Die Datei zunächst als Arrow-Tabelle lesen und bei Bedarf mit table.to_pandas() in einen DataFrame umwandeln. Für Parquet nach CSV anschließend ein Werkzeug mit CSV-Export verwenden. Das Ergebnis prüfen: Anwendungsinformationen wie ein pandas-Index können verloren gehen. pq.write_table(table, 'ausgabe.parquet') schreibt Parquet. Ein beim Erstellen der Arrow-Tabelle ausgelassener Index wird beim erneuten Lesen nicht wiederhergestellt.
Wandle eine Kopie um, nie das Original, und vergleich danach Qualität, Metadaten und Layout mit der Ausgangsdatei.
Häufige Fragen
Was ist eine Parquet-Datei und wofür wird sie verwendet?
Sie speichert Tabellendaten binär und spaltenorientiert. Zeilengruppen enthalten Spaltenblöcke, sodass ein kompatibler Reader nur die benötigten Spalten abrufen kann.
Wie kann ich eine Parquet-Datei mit Python lesen?
Mit verfügbarem PyArrow import pyarrow.parquet as pq und table = pq.read_table('datei.parquet') ausführen. Das Ergebnis ist eine Arrow-Tabelle. table.to_pandas() wandelt sie in einen pandas-DataFrame um.
Wie kann ich eine Parquet-Datei unter Windows öffnen?
In einer Python-Umgebung unter Windows mit verfügbarem PyArrow pyarrow.parquet.read_table('datei.parquet') verwenden. Bei Bedarf mit to_pandas() einen DataFrame erzeugen. Der Reader muss die verwendeten Dateifunktionen unterstützen.
Wie kann ich eine Parquet-Datei auf dem Mac öffnen?
In einer Python-Umgebung auf dem Mac mit verfügbarem PyArrow pyarrow.parquet.read_table('datei.parquet') verwenden. columns=['spalte'] beschränkt die Auswahl auf bestimmte Spalten. Die Dateifunktionen müssen vom Reader unterstützt werden.
Wie kann ich eine Parquet-Datei auf dem Smartphone öffnen?
Die Datei vom Smartphone auf einen Computer kopieren und dort mit Python und PyArrow über pyarrow.parquet.read_table('datei.parquet') lesen. Eine bestimmte Smartphone-App wird hier nicht empfohlen.
Wie behebe ich einen Kompatibilitätsfehler beim Lesen von Parquet?
Prüfen, ob der Reader die verwendeten Kodierungen und Data Page V2 unterstützt. Ältere Reader können an unbekannten Funktionen scheitern. Bei unbekannten logischen Typen kann nur der zugrunde liegende physische Typ zurückgegeben werden. Einen passenden Reader verwenden.
Soll ich eine ganze Parquet-Tabelle oder nur ausgewählte Spalten lesen?
Die ganze Tabelle lesen, wenn alle Spalten benötigt werden. Für einzelne Felder das Argument columns in PyArrow verwenden. Einzelne Zeilengruppen lassen sich ebenfalls lesen, um das Einlesen der gesamten Tabelle zu vermeiden.
Wie kann ich Parquet nach CSV konvertieren?
Parquet mit PyArrow lesen und die Tabelle bei Bedarf mit to_pandas() umwandeln. Anschließend mit einem CSV-fähigen Werkzeug exportieren. Das Ergebnis prüfen: Anwendungsinformationen wie ein pandas-Index können verloren gehen.
Wie entsteht ein fehlender Index bei Parquet nach pandas nach dem Speichern und Lesen?
Wurde der ursprüngliche pandas-Index beim Erstellen der Arrow-Tabelle nicht erhalten, stellt das Speichern und Lesen von Parquet ihn nicht wieder her. Vor dem Speichern die Indexbehandlung prüfen und den zurückgelesenen DataFrame mit dem Original vergleichen.
Ist das Öffnen einer Parquet-Datei sicher?
Die Erweiterung allein belegt keine Sicherheit. Dateien können sensible Daten enthalten, Reader können Schwachstellen haben. CVE-2025-46762 betrifft specific und reflect in parquet-avro und empfiehlt ein Upgrade auf 1.15.2. generic ist von dieser konkreten Schwachstelle nicht betroffen.
Was muss ich prüfen, bevor ich eine verschlüsselte Parquet-Datei lese?
Prüfen, ob der Reader die verwendeten Verschlüsselungsfunktionen unterstützt. Spalten und Footer können getrennt geschützt werden, während andere Bereiche unverschlüsselt bleiben. AES CTR allein bietet keine Authentifizierung; Verschlüsselung bedeutet daher nicht immer vollständigen Integritätsschutz.
Verwandte Formate
Quellen
IANA — application/vnd.apache.parquet · IANA 官方媒体类型登记
Apache Parquet — File Format · Apache Parquet 官方格式文档
Apache Arrow — Reading and Writing Single Files · Apache Arrow 官方使用文档
Apache Parquet — Parquet format versions · Apache Parquet 官方兼容性文档
CVE-2025-46762 · CVE 官方漏洞记录;分配机构为 Apache Software Foundation
Apache Parquet — Modular Encryption · Apache Parquet 官方加密规范