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.

Kursinhalt
1. 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