- Grundlagen von PySpark
- Einführung in die Architektur von Apache Spark und die Rolle von PySpark: Überblick der Komponenten (Spark Core, SQL, Streaming, MLlib) und deren Integration mit Python. Vergleich mit anderen Big-Data-Technologien wie Pandas und Dask.
- Entwicklungsumgebungen für PySpark: Jupyter Notebooks, Zeppelin und IDEs (PyCharm, VS Code) mit PySpark-Integration. Besonderheiten bei der lokalen Entwicklung und Cluster-Umgebungen.
- Lizenzierung und Kosten: Open-Source-Aspekte von Spark, kommerzielle Distributionen (Databricks, Cloudera) und Cloud-Anbieter-Integration (AWS EMR, Azure Databricks).
- Datenverarbeitung mit DataFrames
- DataFrame-Konzept: Vergleich mit Pandas DataFrames und relationalen Datenbanktabellen. Vor- und Nachteile der verteilten Verarbeitung.
- Datenimport/Export: Arbeiten mit verschiedenen Datenquellen (CSV, JSON, Parquet, JDBC) in PySpark. Performance-Optimierungen bei großen Datensätzen.
- Grundlegende Transformationen: Filterung, Aggregation, Joins und Fensterfunktionen in PySpark. Unterschiede zu SQL-Implementierungen.
- Spark-SQL Integration
- SQL-Syntax in PySpark: Nutzung von Spark-SQL für Data Scientists mit SQL-Hintergrund. Abfragen auf registrierten Tabellen und temporären Views.
- UDFs (User Defined Functions): Erstellung und Nutzung von Python-Funktionen in Spark-SQL. Performance-Aspekte und Alternativen.
- Katalogzugriff: Metadatenmanagement und Schema-Integration zwischen PySpark und Hive Metastore.
- Performance-Optimierung
- Ausführungsmodell verstehen: Spark-Execution-Pläne interpretieren und optimieren. Rolle der Catalyst-Optimierung.
- Partitionierungsstrategien: Best Practices für physische Datenverteilung. Auswirkung auf Join- und Aggregationsoperationen.
- Caching-Persistenz: Strategien für die Zwischenspeicherung von häufig genutzten DataFrames. Speicherlevel und Trade-Offs.
- Datenvisualisierung
- Integration mit Python-Visualisierungsbibliotheken: Nutzung von Matplotlib, Seaborn und Plotly mit PySpark-DataFrames.
- Einschränkungen und Workarounds: Umgang mit Visualisierungen bei großen Datensätzen (Sampling, Aggregation).
- Dashboard-Integration: Exportmöglichkeiten für BI-Tools (Tableau, Power BI) und Webanwendungen.
- Machine Learning mit PySpark MLlib
- Pipeline-Konzept: Aufbau von ML-Workflows mit PySpark. Vergleich mit scikit-learn.
- Feature-Engineering: Nutzung der integrierten Transformationen für Datenvorbereitung.
- Modelltraining und -evaluation: Implementierung und Bewertung von Algorithmen für Klassifikation, Regression und Clustering.
- Streaming-Datenverarbeitung
- Strukturiertes Streaming: Grundkonzepte der Echtzeitdatenverarbeitung mit PySpark. Vergleich mit Batch-Verarbeitung.
- Quellen und Senken: Integration mit Kafka, Dateisystemen und Datenbanken.
- Event-Time-Verarbeitung: Umgang mit verzögerten Daten und Fensteroperationen.
- Praxisübung: End-to-End-Datenpipeline
- Teilnehmer implementieren eine komplette Datenverarbeitungspipeline von der Datenextraktion über Transformationen bis zur Analyse und Visualisierung.
LernzieleDie Teilnehmer entwickeln ein umfassendes Verständnis der PySpark-Architektur und Einsatzmöglichkeiten. Sie lernen die verschiedenen Komponenten kennen und können deren Nutzen für ihre spezifischen Datenverarbeitungsanforderungen einschätzen. Das Seminar vermittelt zudem Best Practices für die Planung von PySpark-Projekten.
ZielgruppenData Engineers, Data Scientists und Python-Entwickler mit Grundkenntnissen in Datenanalyse.