Die Wahl des richtigen Datenformats beeinflusst Leistung und Kosten erheblich. Parquet für Analytik, Avro für Streaming, ORC für Hive und JSON für Flexibilität.
Formate für Data Engineering¶
Apache Parquet¶
- Spaltenformat — ideal für analytische Abfragen
- Kompression — Snappy, ZSTD, hervorragendes Kompressionsverhältnis
- Predicate Pushdown — Statistiken in Metadaten
- Einsatz: Data Lake, Warehouse, Batch-Processing
Apache Avro¶
- Zeilenformat — effizient für vollständige Datensätze
- Schema Evolution — native Unterstützung
- Kompaktes Binärformat — Schema im Header gespeichert
- Einsatz: Kafka Messaging, CDC, Streaming
Vergleich¶
# Parquet: analytische Abfragen
df.write.parquet("/data/orders.parquet")
# Avro: Streaming/Messaging
df.write.format("avro").save("/data/orders.avro")
# Größe (1M Zeilen):
# CSV: 500 MB
# JSON: 400 MB
# Avro: 100 MB
# Parquet: 50 MB (Spaltenkompression)
Welches Format wann¶
- Analytik/Batch → Parquet
- Streaming/Messaging → Avro
- Hive-Ökosystem → ORC
- API/Logs → JSON (menschenlesbar)
Zusammenfassung¶
Parquet ist Standard für Analytik, Avro für Streaming. Die richtige Formatwahl spart Storage und Rechenleistung.
parquetavroorcSerialisierung