Big Data mit Python- Arbeiten mit PySpark und Dask
Big Data mit Python: Arbeiten mit PySpark und Dask
Ein praxisorientierter Leitfaden zur verteilten Datenverarbeitung mit PySpark und Dask für moderne Datenpipelines
Inhaltsverzeichnis
Kapitel 1: Einführung in Big Data und verteilte Verarbeitung
- Was ist Big Data?
- Herausforderungen bei großen Datenmengen
- Vergleich: Pandas, Dask, PySpark
- Überblick: Hadoop, Spark, Clusterarchitektur
Kapitel 2: Einstieg in PySpark
- Apache Spark Grundlagen
- Installation von PySpark (lokal und via Notebook)
- SparkSession, DataFrame und RDDs
- Mini-Projekt: CSV-Datei mit PySpark analysieren
Kapitel 3: Daten mit PySpark transformieren
- Filtern, Gruppieren, Aggregieren
- Arbeiten mit withColumn, select, join
- Funktionen (udf, when, lit, explode)
- Mini-Projekt: Kundendaten bereinigen und aufbereiten
Kapitel 4: Arbeiten mit großen Datenquellen in PySpark
- Einlesen von CSV, JSON, Parquet
- Verbindung zu Datenbanken und HDFS
- Mini-Projekt: Analyse von Weblogdaten im Parquet-Format
Kapitel 5: Einstieg in Dask für parallele Verarbeitung
- Was ist Dask und wie unterscheidet es sich von Spark?
- Dask Arrays, DataFrames, Bags
- Scheduler (Threaded, Multiprocessing, Distributed)
- Mini-Projekt: Vergleich große CSV-Datei mit Pandas vs. Dask
Kapitel 6: Datenbearbeitung mit Dask DataFrame
- Ähnlichkeit zu Pandas, aber verteilt
- map_partitions, persist, repartition
- Mini-Projekt: Finanzdaten über mehrere Dateien hinweg aggregieren
Kapitel 7: Skalierung und Cluster mit Dask
- Dask Distributed einrichten (lokal, Remote)
- Dashboard, Lastverteilung, Taskgraph
- Mini-Projekt: Datenpipeline über Dask Cluster laufen lassen
Kapitel 8: Vergleich PySpark und Dask im praktischen Einsatz
- Geschwindigkeit, Skalierung, RAM-Verbrauch
- Stärken und Schwächen je nach Use Case
- Mini-Projekt: Loganalyse mit beiden Tools parallel umsetzen
Kapitel 9: Integration in moderne Datenpipelines
- Dask/PySpark + Apache Airflow, Prefect
- Speicherung in S3, Datenbanken, Snowflake
- Mini-Projekt: Datenimport → Transformation → Export
Kapitel 10: Best Practices für Big-Data-Projekte mit Python
- Speicher- und Performanceoptimierung
- Fehlersuche in verteilten Umgebungen
- Logging, Monitoring, Wiederholbarkeit
- Empfehlungen für strukturierte Projekte
Anhang A: Wichtige PySpark- und Dask-APIs im Überblick
- groupBy(), agg(), map_partitions(), persist() u.v.m.
Anhang B: Cluster und Ressourcen effizient nutzen
- Konfiguration von Spark und Dask
- Beispiel für lokale vs. verteilte Ausführung
Anhang C: Übungsaufgaben mit Lösungen
- Datenbereinigung mit PySpark
- Parallele Analyse mit Dask
- Performancevergleich und Debugging
- Detaillierte Lösungen mit Kommentaren