Wer große Datenmengen effizient verarbeiten möchte, steht vor der Herausforderung, verteilte Berechnungen so zu gestalten, dass sie skalierbar, fehlerresistent und performant sind. Apache Spark hat sich als das meistverbreitete Open-Source-Framework für verteilte Datenverarbeitung etabliert und unterstützt Batch-Processing, Stream-Processing, maschinelles Lernen und Graph-Analysen in einer einheitlichen Umgebung. Das Verständnis der Spark-Architektur, des RDD-Modells und der DataFrame-API bildet die Basis für leistungsstarke Datenpipelines.
Kursinhalt1. Spark-Architektur und Ausführungsmodell
- Driver, Executors, Cluster Manager und Task-Verteilung
- RDDs, DataFrames und Datasets: Unterschiede und Verwendung
- Lazy Evaluation und Ausführungspläne (DAG)
2. Spark SQL und DataFrame-Operationen
- Grundlegende Transformationen: select, filter, groupBy, join
- Spark SQL: Abfragen auf temporären Views
- Schema-Definition und Datentypen in Spark
3. Spark Streaming und Echtzeit-Verarbeitung
- Structured Streaming: Sources, Sinks und Trigger
- Windowing und Stateful Operations
- Integration mit Kafka und anderen Messaging-Systemen
4. Performance-Optimierung und Cluster-Management
- Partitionierung und Shuffling
- Caching und Persistence-Strategien
- Konfigurationsparameter für Speicher und Executor-Management
Berufliche Relevanz
- Apache-Spark-Kenntnisse werden in Data-Engineering-, Big-Data- und Analytics-Positionen vorausgesetzt
- Ermöglicht die skalierbare Verarbeitung von Datensätzen im Tera- und Petabyte-Bereich
- Grundlage für den Einsatz auf Databricks, Amazon EMR und Google Dataproc