Přeskočit na obsah
Data Engineering

Parquet, Avro, ORC — serializační formáty pro data engineering

8 min čtení
ParquetAvroORCSerializace

Volba správného datového formátu dramaticky ovlivňuje výkon a náklady. Parquet pro analytiku, Avro pro streaming, ORC pro Hive a JSON pro flexibilitu.

Formáty pro data engineering

Apache Parquet

  • Sloupcový formát — ideální pro analytické dotazy
  • Komprese — Snappy, ZSTD, výborný kompresní poměr
  • Predicate pushdown — statistiky v metadatech
  • Použití: data lake, warehouse, batch processing

Apache Avro

  • Řádkový formát — efektivní pro celé záznamy
  • Schema evolution — nativní podpora
  • Kompaktní binární — schéma uloženo v hlavičce
  • Použití: Kafka messaging, CDC, streaming

Porovnání

# Parquet: analytické dotazy
df.write.parquet("/data/orders.parquet")

# Avro: streaming/messaging
df.write.format("avro").save("/data/orders.avro")

# Velikost (1M řádků):
# CSV:     500 MB
# JSON:    400 MB
# Avro:    100 MB
# Parquet:  50 MB (sloupcová komprese)

Kdy který formát

  • Analytika/batch → Parquet
  • Streaming/messaging → Avro
  • Hive ekosystém → ORC
  • API/logs → JSON (human-readable)

Shrnutí

Parquet je default pro analytiku, Avro pro streaming. Správná volba formátu šetří storage i compute.

CORE SYSTEMS tým

Enterprise architekti a AI inženýři. Stavíme systémy, které fungují.