Was ist Apache Parquet?

21. Januar 2025

Autoren

Matthew Kosinski

Enterprise Technology Writer

Was ist Apache Parquet?

Apache Parquet ist ein spaltenbasiertes Open-Source-Speicherformat zum effizienten Speichern, Verwalten und Analysieren großer Datensätze. Im Gegensatz zu zeilenbasierten Speicherformaten wie CSV oder JSON organisiert Parquet Daten in Spalten, um die Abfrageleistung zu verbessern und die Datenspeicherkosten zu senken.

Unternehmen verwenden verschiedene Dateiformate, um unterschiedliche Datenanforderungen zu erfüllen. Viele herkömmliche Formate organisieren Daten in Zeilen und optimieren so einfache Datenübertragungen und Lesbarkeit.

Parquet verfolgt einen grundlegend anderen Ansatz. Ähnliche Datentypen werden in Spalten gruppiert. Diese spaltenförmige Struktur hat dazu beigetragen, die Art und Weise, wie Unternehmen mit groß angelegten Analysen umgehen, zu verändern und eine überlegene Komprimierung sowie gezielten Datenzugriff zu ermöglichen.

Bei der Analyse von Kundentransaktionen kann beispielsweise eine Einzelhandels-Datenbank, die Parquet verwendet, auf bestimmte Spalten wie Kaufdaten und Beträge zugreifen, ohne ganze Kundendatensätze zu laden. Diese Möglichkeit, auf bestimmte Spalten zuzugreifen, kann sowohl die Verarbeitungszeit als auch die Speicherkosten reduzieren.

Das Parquet-Format ist in drei Schlüsselbereichen wertvoll:

  • Analyse-Workloads, die komplexe Abfragen über Milliarden von Datensätzen hinweg verarbeiten.
  • Data Lake und Data Warehouses, die eine effiziente Speicherung und schnelle Datenabfrage ermöglichen.
  • Pipelines für maschinelles Lernen (ML), die bestimmte Attribute in großen Trainingsdatensätzen analysieren.

Ein weiterer Grund für die weite Verbreitung von Parquet ist seine Kompatibilität mit verteilten Systemen und Datentools, wie Apache Spark, Apache Hive und Apache Hadoop.

Hauptmerkmale von Apache Parquet

Parquet transformiert Datenspeicherung und -zugriff im Vergleich zu anderen Dateiformaten durch drei Hauptfunktionen:

  • Spaltenorientiertes Speicherformat: Während herkömmliche Dateiformate Daten in Zeilen speichern – ähnlich wie Einträge in Spreadsheets – verwendet Parquet ein spaltenorientiertes Speicherformat. Es organisiert ähnliche Datentypen in Spalten, sodass Parquet nur die relevanten Spaltenwerte lesen kann. Dieser gezielte Ansatz trägt dazu bei, die Abfragezeiten von Stunden auf Minuten zu reduzieren und gleichzeitig die Speicherkosten erheblich zu senken.
  • Schema- und Metadatenmanagement: Jede Parquet-Datei enthält ein selbstbeschreibendes Schema – quasi ein Blueprint ihrer Datenstruktur. Diese Metadaten helfen bei effizienten Abfragen und ermöglichen es, Datenmodelle weiterzuentwickeln, wenn sich die Geschäftsanforderungen ändern. So kann beispielsweise eine Unternehmensdatenbank, die Parquet verwendet, neue Kundenattribute hinzufügen, ohne vorhandene Datensätze neu erstellen zu müssen.
  • Effiziente Komprimierung: Parquet optimiert automatisch die Datenspeicherung, indem es ausgefeilte Komprimierungsmethoden nutzt – d. h, die Dateien werden verkleinert, indem unnötige doppelte Informationen entfernt und Daten in einem platzsparenden Format gespeichert werden. Dieser intelligente Ansatz für die Datenspeicherung sorgt für eine optimale Speichereffizienz und Rechenleistung bei verschiedenen Arten von Workloads.
3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

So funktioniert Apache Parquet

Apache Parquet wandelt Rohdaten systematisch in ein optimiertes Spaltenformat um und verbessert so sowohl die Speichereffizienz als auch die Abfrageleistung erheblich.

So verarbeitet Parquet Daten:

1. Datenorganisation

Beim Schreiben von Daten in eine Parquet-Datei werden die Daten zunächst in Zeilengruppen unterteilt. Jede Zeilengruppe stellt eine unabhängige Einheit des Datensatzes dar, was eine parallele Verarbeitung und eine effiziente Speicherverwaltung für umfangreiche Vorgänge ermöglicht. Diese Partitionierungsstrategie bildet die Grundlage für den leistungsstarken Datenzugriff von Parquet.

2. Spalten-Chunking

Innerhalb der jeweiligen Zeilengruppe reorganisiert der Assembly-Algorithmus von Parquet die Daten nach Spalten statt nach Zeilen. Ähnliche Datentypen werden in Spaltenblöcken gruppiert, was eine spezielle Codierung basierend auf den Eigenschaften der Daten ermöglicht. Beispielsweise kann eine Spalte mit Datumsangaben anders optimiert werden als eine Spalte mit numerischen Werten.

3. Komprimierung und Codierung

Parquet wendet einen zweistufigen Optimierungsprozess an. Zunächst verwendet es Codierungsschemata wie die Lauflängencodierung (Run-Length Encoding, RLE), um sich wiederholende Werte effizient darzustellen. Dies ist besonders hilfreich bei Spalten mit vielen doppelten Einträgen. Anschließend werden Komprimierungsalgorithmen wie Snappy oder Gzip angewendet, um den Speicherbedarf weiter zu reduzieren.

 4. Metadaten-Generierung

Das Format erstellt umfassende Metadaten – einschließlich Dateischema und Datentypen, Statistiken für die jeweilige Spalte, Zeilengruppenpositionen und Struktur. Diese Metadaten unterstützen eine effiziente Abfrageplanung und -optimierung.

5. Abfrageausführung

Beim Lesen von Parquet-Daten konsultieren Abfragemodule zunächst Metadaten, um relevante Spalten zu identifizieren. Dabei werden nur die notwendigen Spalten-Chunks aus dem Speicher gelesen, und die Daten werden nach Bedarf dekomprimiert und decodiert.

Vorteile von Apache Parquet

Apache Parquet kann Unternehmen, die große Datenoperationen verwalten, erhebliche Vorteile bieten.

Einige seiner Vorteile sind:

Abfrageleistung

Die Datenstruktur von Parquet kann die Ausführung analytischer Abfragen erheblich beschleunigen. Wenn Anwendungen bestimmte Daten benötigen, greifen sie nur auf relevante Spalten zu, wodurch die Abfragezeiten von Stunden auf Minuten reduziert werden. Dieser gezielte Zugriff macht Parquet für Unternehmen wertvoll, die komplexe Analysen in großem Maßstab durchführen.

Komplexe Datenverarbeitung

Im Gegensatz zu einfacheren Formaten kann Parquet verschachtelte Datenstrukturen und Arrays, die in modernen Anwendungen üblich sind, effizient verwalten. Diese Funktion macht es nützlich für Organisationen, die mit komplexen Datentypen zu tun haben, wie JSON-ähnlichen Strukturen in der Webanalyse oder verschachtelten Arrays in Sensordaten von Geräten des Internet der Dinge (IoT).

Speichereffizienz

Das Spaltenformat von Parquet verändert die Art und Weise, wie Daten gespeichert und komprimiert werden, grundlegend. Durch die Gruppierung ähnlicher Datentypen kann Parquet unterschiedliche Codierungsalgorithmen auf die jeweiligen Datentypen anwenden, wodurch bessere Komprimierungsraten erzielt werden als bei Formaten wie CSV oder JSON.

So könnte beispielsweise ein Datensatz mit Millionen von Kundentransaktionen Terabyte an Speicher im CSV-Format erfordern, aber nur einen Bruchteil davon, wenn er in Form von Parquet-Dateien gespeichert wird.

Framework-Integration

Moderne Datenarchitekturen erfordern oft eine nahtlose Toolintegration, die Parquet durch native Unterstützung für wichtige Frameworks bietet. Unabhängig davon, ob Teams Python mit Pandas für die Analyse, Java für die Anwendungsentwicklung oder Apache Spark für die Datenverarbeitung verwenden: Parquet kann dazu beitragen, einen konsistenten Datenzugriff im gesamten Unternehmen sicherzustellen.

Optimierung des Hadoop-Ökosystems

Die native Integration von Parquet mit Hadoop macht es besonders effektiv für die Big-Data- Datenverarbeitung. Da Parquet für das Hadoop Distributed File System (HDFS) entwickelt wurde, weist es in Hadoop-Umgebungen in der Regel eine bessere Leistung auf als herkömmliche Dateiformate. Durch die Verwendung von Parquet mit Hadoop können Unternehmen Abfragen schneller ausführen und ihre Daten effizienter speichern, wobei sie häufig nur einen Bruchteil des Speicherplatzes nutzen, den sie vorher benötigten.

IBM Storage FlashSystem

IBM Storage FlashSystem: Optimierung von VMware für Kosten, Einfachheit und Ausfallsicherheit

Erfahren Sie, wie IBM FlashSystem VMware-Umgebungen für Kosteneffizienz, Einfachheit und Ausfallsicherheit optimiert. In dieser Sitzung erfahren Sie, wie FlashSystem die Datensicherheit, den Zugriff und die Leistung von Daten verbessern kann, was es zu einer idealen Lösung für moderne IT-Infrastrukturen macht.

Häufige Anwendungsfall für Parquet

Apache Parquet kann eine Reihe von Data-Engineering-Anforderungen in verschiedenen Branchen und Anwendungen erfüllen.

Zu seinen wirkungsvollsten Implementierungen gehören:

Data Lakes und Data Warehouses

Unternehmen, die Data Lakes und Data Warehouses aufbauen, wählen häufig Parquet als primäres Speicherformat. Aufgrund seiner effizienten Komprimierung und Abfrageleistung ist es ideal für die Speicherung großer Datenmengen und bietet gleichzeitig schnellen Zugriff auf Business-Intelligence-Tools sowie SQL-Abfragen (Structured Query Language).

Zum Beispiel kann eine Einzelhandelskette, die Parquet zum Speichern von Transaktionsdaten verwendet, Verkaufsmuster in Tausenden von Geschäften analysieren, und das mit geringerem Speicherbedarf als traditionelle Formate.

Analyse-Workloads

Data Scientist und Analysten, die mit Frameworks wie Apache Spark oder der Pandas-Bibliothek von Python arbeiten, profitieren von Parquets optimierter Leistung für analytische Abfragen. Während Formate wie Avro sich häufig besonders gut für die Verarbeitung auf Datensatzebene eignen, finden viele das Dateiformat Parquet für komplexe Analysen besonders effektiv.

Zum Beispiel könnte ein Finanzdienstleister Parquet verwenden, um Marktdaten zu speichern, sodass Analysten Millionen von Handelsereignissen verarbeiten und Metriken nahezu in Echtzeit berechnen können.

ETL Pipelines

Moderne Datenpipelines verwenden Parquet häufig als Zwischen- oder Zielformat bei ETL-Prozessen (Extrahieren, Transformieren und Laden) . Seine Kompatibilität mit gängigen Frameworks wie Apache Spark und die Unterstützung für Schemaentwicklung machen es wertvoll für Data-Engineering-Workflows, die sich ändernde Datenstrukturen bewältigen können müssen.

Beispielsweise könnten Unternehmen im Gesundheitswesen Parquet verwenden, um Patientendatensätze aus mehreren Systemen effizient in ein einheitliches Format umzuwandeln, wobei die Funktionen neue Datenfelder automatisch verarbeiten, ohne bestehende Prozesse zu unterbrechen.

Apache Parquet vs. andere Dateiformate

So schneidet das Parquet-Dateiformat im Vergleich zu anderen gängigen Speicherformaten ab:

Parquet vs. CSV und JSON

Herkömmliche Formate wie CSV und JSON speichern Daten in Zeilen und sind daher ideal für eine einfache Datenübertragung und Lesbarkeit für den Menschen. Wenn es jedoch um umfangreiche Analysen geht, bietet das Lesen von Parquet-Dateien erhebliche Vorteile.

Während eine CSV-Datei selbst bei der Abfrage einzelner Spalten ganze Zeilen scannen muss, ermöglicht die spaltenbasierte Speicherung von Parquet den direkten Zugriff auf bestimmte Datenelemente. So kann es sein, dass für die Analyse einer einzelnen Spalte in einem Petabyte-Datensatz unter Umständen die gesamte CSV-Datei gelesen werden muss, während Parquet nur auf die relevanten Spaltenblöcke zugreift.

Parkett vs. Avro

Avro und Parquet dienen unterschiedlichen Anwendungsfall im Ökosystem. Das zeilenbasierte Format von Avro eignet sich hervorragend für Serialisierungs- und Streaming-Szenarien und ist damit ideal für die Aufzeichnung einzelner Ereignisse oder Transaktionen.

Das Dateiformat Parquet hingegen ist für analytische Workloads optimiert, bei denen Unternehmen bestimmte Spalten in Millionen von Datensätzen analysieren müssen.

Zum Beispiel könnte eine E-Commerce-Plattform Avro verwenden, um Auftragsereignisse in Echtzeit zu erfassen, aber diese Daten zur langfristigen Speicherung und Analyse in Parquet umwandeln.

Unterstützendes Ökosystem aus Tools und Frameworks

Die Stärke von Apache Parquet liegt nicht nur in den Formatspezifikationen, sondern auch in dem starken Ökosystem unterstützender Tools und Frameworks.

Zu den wichtigsten Technologien im Parquet-Ökosystem gehören:

Verarbeitungsframeworks

Parquet lässt sich nahtlos in die wichtigsten Frameworks der Datenverarbeitung integrieren. Apache Spark bietet leistungsstarke Analysefunktionen, während Hadoop die verteilte Verarbeitung über große Cluster hinweg ermöglicht.

Apache Arrow kann dieses Verarbeitungsökosystem weiter verbessern, indem es einen schnellen, effizienten Datenaustausch zwischen Systemen sowie direkten Datenzugriff ermöglicht – Funktionen, die bei der Verwendung von Frameworks wie Spark und Hadoop die Leistung beschleunigen.

Unternehmen können diese Frameworks mit Parquet kombinieren, um effiziente Datenpipelines von Gigabyte bis Petabyte aufzubauen.

Programmiersprachen und Schnittstellen

Data Engineers können über mehrere Programmierschnittstellen mit Parquet arbeiten. Python-Entwickler verwenden in der Regel Pandas zur Datenmanipulation, während Java-Anwendungen native Parquet-Bibliotheken verwenden.

Cloudplattformen

Große Cloud-Provider wie Amazon Web Services, Google Cloud Platform, Microsoft Azure und IBM® Cloud bieten nativen Parquet-Support,

und auch mit cloudbasierten Data Warehouses und Abfrage-Engines wie Amazon Athena, Google BigQuery und IBM® Db2 Warehouse ist Parquet kompatibel.

Weiterführende Lösungen
IBM Storage DS8000

IBM Storage DS8000 ist das schnellste, zuverlässigste und sicherste Speichersystem für IBM zSystems und IBM Power Server.

Storage DS8000 erkunden
Unternehmenslösungen für die Datenspeicherung

IBM Storage bezeichnet eine Produktfamilie aus Datenspeicher-Hardware, softwaredefiniertem Speicher und Speicherverwaltungssoftware.

Datenspeicherlösungen erkunden
Hardware- und Software-Supportdienste  

IBM bietet proaktiven Support für Webserver und Rechenzentrumsinfrastruktur, um Ausfallzeiten zu reduzieren und die IT-Verfügbarkeit zu verbessern.

Webserver-Services
Machen Sie den nächsten Schritt

Egal, ob Sie Hybrid-Cloud-Umgebungen verwalten oder die Datenresilienz gewährleisten möchten: Mit den IBM Storage-Lösungen erschließen Sie neue Erkenntnisse anhand Ihrer Daten und sind gleichzeitig zuverlässig vor Bedrohungen geschützt.

Datenspeicherlösungen erkunden Produkttour starten