Inhaltsverzeichnis
- Kurzprofil
- Rahmendaten
- Zielgruppe
- Voraussetzungen
- Lernziele
- Inhalte
- Praxisübungen
- Technische Umgebung
- Entscheidungshilfen für Datenformate
Kurzprofil
Das Seminar zeigt Avro als Storage- und Austauschformat im Data-Lake-Umfeld. Im Fokus stehen Avro-Container-Dateien, Schema-on-Read, Interoperabilität mit Spark/Hadoop/Hive sowie Performance- und Kostenaspekte. Übungen führen Schritt für Schritt durch das Schreiben, Lesen, Evolvieren und Validieren von Avro-Datensätzen in typischen Analytics-Pipelines.
Rahmendaten
- Dauer: 2 Tage
- Niveau: Aufbau
- Format: Plattform-Patterns, Hands-on-Labs mit Datensätzen
Zielgruppe
- Data Engineering und Analytics Engineering
- Plattformteams (Data Lake, Batch/Streaming Analytics)
- Architektur, die Datenformate und Standards verantwortet
Voraussetzungen
- Grundlagenwissen zu Avro-Schemas (Grundlagenseminar empfohlen)
- Basiskenntnisse in SQL oder Spark (DataFrames)
Lernziele
- Avro-Dateien korrekt erzeugen, inspizieren und lesen
- Schema Evolution im Storage-Kontext sicher planen
- Integration in Spark/Hadoop/Hive verstehen und anwenden
- Performance-Stellhebel (Kompression, Blockgröße, Partitionierung) nutzen
- Avro im Vergleich zu spaltenorientierten Formaten sinnvoll einordnen
Inhalte
Modul 1: Avro als Dateiformat im Data Lake
- Object Container File: eingebettetes Schema, Blocks, Sync Marker
- Kompression, Blockgrößen und Metadaten
- Schema-on-Read und Interoperabilität zwischen Tools
Modul 2: Schreiben und Lesen mit Spark
- Schema-Definition vs. Schema-Inferenz
- DataFrames: Lesen/Schreiben, Partitionierung, Evolutionsfälle
- Logical Types (Timestamp/Date/Decimal) in Analytics
Modul 3: Hive/Hadoop-Integration
- Externe Tabellen über Avro-Dateien
- Schema-Verwaltung: im Metastore vs. im File Header
- Kompatibilitätsregeln und deren Wirkung auf historische Partitionen
Modul 4: Datenqualität und Validierung
- Pflichtfelder, Nullability, Defaults und Datenanomalien
- Validierungsstrategien in Batch-Pipelines
- Fehlerklassifizierung: Schemafehler vs. Datenfehler
Modul 5: Performance und Formatwahl
- Trade-offs: row-basiert (Avro) vs. column-basiert (z. B. Parquet/ORC)
- Kompression, Dateigröße, Splitability und Scan-Kosten
- Migrationsstrategien zwischen Formaten
Praxisübungen
Lab 1: Avro-Dataset erzeugen und inspizieren
- Beispieldaten als Avro-Datei schreiben.
- Embedded Schema und Metadaten auslesen.
- Kompression aktivieren und Dateigröße vergleichen.
- Blockgröße variieren und Auswirkungen dokumentieren.
Lab 2: Lesen/Schreiben mit Spark
- Avro-Dateien als DataFrame laden.
- Schema explizit setzen und mit Inferenz vergleichen.
- Partitioniertes Schreiben einrichten.
- Abfragen ausführen und typische Fehlerbilder auswerten.
Lab 3: Schema Evolution im Data Lake
- Schema v2 entwerfen (Feld hinzufügen, Default setzen).
- Neue Partitionen mit v2 schreiben und alte Partitionen mit v1 behalten.
- Lesepfad so konfigurieren, dass beide Versionen korrekt gelesen werden.
- Kompatibilitätsrisiken dokumentieren (z. B. Type Changes, Enums).
Lab 4: Qualitätschecks als Pipeline-Baustein
- Validierungsregeln definieren (z. B. Pflichtfelder, Wertebereiche).
- Schema-Validierung und Datenvalidierung trennen.
- Quarantäne-Strategie für fehlerhafte Partitionen skizzieren.
- Monitoring-Kennzahlen festlegen (Fehlerquote, Drift, Null-Anteile).
Technische Umgebung
- Spark-Umgebung (lokal oder Trainingscluster)
- Hadoop/Hive optional für Übungen
- Lokales Dateisystem oder Objektstorage-Simulation
Entscheidungshilfen für Datenformate
- Avro eignet sich besonders für schema-evolutionäre Datenfeeds und Interop zwischen Tools.
- Spaltenformate sind vorteilhaft für analytische Scans und Projektionen; Avro bleibt oft als Austauschformat oder Landing-Zone sinnvoll.
- Für Data Lakes wird eine klare Regel empfohlen: Landing (Avro) → Curated (spaltenorientiert) → Serving (anwendungsabhängig).
