Dieses Training vermittelt alle Kenntnisse, die notwendig sind, um Big-Data-Anwendungen auf Basis von Apache Spark 2.1 zu entwickeln. Die Teilnehmer:innen lernen zunächst den Umgang mit der Spark-Shell, um Datensätze aus verschiedenen Quellen und Formaten zu laden und diese interaktiv zu analysieren. Darauf aufbauend entwickeln die Teilnehmer:innen eine eigenständige Spark-Anwendung, um Daten in Form von Datasets und DataFrames lokal oder auf einem Rechencluster zu verarbeiten. Abgeschlossen wird das Training durch eine Einführung in Spark-Streaming zur Verarbeitung von Datenströmen, GraphFrame zur Analyse von Graphen, sowie der Machine-Learning-Bibliothek MLlib.
Notwendige Vorkenntnisse:
- Grundlegendes Hadoop-Wissen
- Grundlegende Linux-Kenntnisse (einschließlich Befehlszeilenoptionen wie ls, cd, cp und su)
- Gute Java oder Scala-Kenntnisse
- Gute SQL-Kenntnisse
Agenda:
1. Apache Spark Grundlagen (DEV 360)
- Apache Spark Features
- Komponenten des Spark Frameworks
- Use Cases
2. Datasets erstellen
- Datenquellen, -strukturen und -schemata definieren
- Arbeiten mit Datasets und DataFrames
- DataFrames in Datasets umwandeln
Praxis:
- Daten laden und Datasets mittels Reflection erstellen
- Einfacher Usecase: Wortzählung mit Datasets (Optional)
3. Operationen für Datasets
- Grundlegende Operationen auf Datasets
- Caching Datasets
- Benutzerdefinierte Funktionen (UDFs)
- Partitioning von Datasets
Praxis:
- Analyse von SFPD-Daten
- UDFs erstellen und anwenden
- Daten mit Hilfe von UDF und Queries analysieren
4. Eine einfache Apache-Spark-Anwendung entwickeln (DEV 361)
- Spark Application Lifecycle
- Verwendung von SparkSession
- Starten von Spark-Anwendungen
Praxis:
- Anwendungsdateien importieren und konfigurieren
- Anwendungen bauen, deployen und starten
5. Apache-Spark-Anwendungen monitoren
- Logische und physische Ablaufpläne von Spark
- Spark Web UI zum Monitoring von Spark-Anwendungen
- Spark Anwendungen debuggen und tunen
Praxis:
- Spark UI nutzen
- Spark-Systemeigenschaften interpretieren
6. Apache Spark Streaming Anwendung erstellen (DEV 362)
- Einführung in die Spark Streaming-Architektur
- Entwicklung von Spark Structured-Streaming-Anwendungen
- Operationen auf Streaming DataFrames anwenden
- eigene Window-Funktionen entwickeln
Praxis:
- Mit der Spark Shell Daten laden und analysieren
- Spark Streaming in der Spark Shell
- Streaming-Anwendung mit SQL bauen und ausführen
- Streaming-Anwendung mit Window-Funktionen und SQL bauen und ausführen
7. Apache Spark GraphFrames verwenden
- Einführung in GraphFrame
- Reguläre, gerichtete und Property Graphen definieren
- Property Graphen erstellen
- Durchführung von Operationen auf Diagrammen
Praxis:
- Graphanalyse mit GraphFrames
8. Apache Spark MLlib verwenden
- Einführung in Apache Spark MLlib (Machine Learning Library)
- Collaborative Filtering zur Benutzerauswahl-Vorhersage
Praxis:
- Datenanalyse mit der Spark Shell
- Entwicklung einer Spark-Anwendung für Film-Empfehlungen
- Analyse eines einfaches Flug-Systems mit Entscheidungsbäumen
Hinweis:
- Die Kursgebühr beinhaltet Schulungsunterlagen, Mittagessen, Getränke und Snacks.
- Die Teilnehmer:innen müssen ein eigenes Notebook zum Training mitbringen.