Apache Spark® mit PySpark

Für alle, die mit Apache Spark® und PySpark Big Data analysieren wollen.

Lernziele und Agenda

Lernziele
  • Grundlagen Apache Spark®: Konzept, Spark Core, Spark RDDs, Spark DataFrames, Spark SQL, PySpark, MLlib und Hinweise zu Spark Streaming 
  • Map-Reduce-Ansatz in Apache Spark verstehen
  • Typische Arbeitsschritte in Apache Spark mittels PySpark (Python und Jupyter) umsetzen
  • Programmieren in PySpark RDDs
  • Reporting und Analysen mittels PySpark SQL und DataFrames
  • Machine Learning mit PySpark MLlib
    • Konzept der Pipeline
    • Hyperparameter-Tuning
    • Modell-Evaluation
  • Spark Streaming
Agenda
Tag 1:
  • Grundlagen: Big Data, HDFS (verteilte Datenhaltung), Map-Reduce-Ansatz
  • Apache Spark mit pySpark: Funktionsweise Apache Spark und PySpark; Grundlagen PySpark mit Jupyter-Notebooks
  • Der erste praktische Job mit PySpark und Juypter-Notebooks
  • PySpark RDDs (resilient distributed datasets): Nutzung von lambda-Funktionen zur Analyse, insbesondere: map und filter sowie ReduceByKey, SortByKey und Collect; Praktische Übungen: u.a. Wort-Häufigkeiten, weitere Textanalyse-Möglichkeiten
  • PySpark SQL und DataFrames
    • Strukturierte Daten in PySpark: DataFrames: Idee, Arbeiten auf DataFrames in PySpark
    • Nutzung von Filtern
    • Erstellen und Ausführen von PySpark SQL Queries auf PySpark DataFrames
    • Visualisieren von Daten
  • Data Engineering: PySpark Befehle als Alternative zu PySpark SQL Queries
    • Behandlung kategorieller Daten: String Indexer und One Hot Encoding
    • Design Matrix: Vector Assembler
Tag 2:
  • Case Study Themen Tag 1: Praktisches Wiederholen der Themen des ersten Tags an einer Case Studie mit PySpark
  • Machine Learning Teil 1 mit PySpark MLlib
    • Übersicht PySpark MLlib Algorithmen
    • Typische Data Engineering Schritte
    • Overfitting Prevention: Split in Test- und Trainingsdatensätze
    • Modell-Training am Beispiel der Logistischen Regression an einem einfachen Klassifikationsbeispiel
    • Modell-Evaluation
    • Deployment: Prediction mit dem erstellten Modell
  • Machine Learning Teil 2: Supervised und Unsupervised Learning Algorithmen
    • Supervised-Learning Algorithmen: Klassifikation und Regression
    • Unsupervised-Learning Algorithmen: Clusteranalysen, Recommendation-Engines
  • Machine Learning Teil 3: Automatisieren des Analyseprozesses: ML Pipelines
    • Idee
    • Aufbau der Pipeline: Data Engineering-Schritte, Machine Learning Algorithmen und Erstellen einer ML Pipeline
    • Fitten und Analysieren der Pipelines
  • Machine Learning Teil 4: Hyperparameter-Tuning
    • Idee
    • Cross-Validation
    • Auswahl der Algorithmen
    • Grid Search und Random Grid Search

Inhalt

In diesem 2-tägigen Seminar lernen Sie als Data_Scientist:in Apache Spark mit PySpark zur Bearbeitung von Big Data kennen. Gegenüber Apache Hadoop bietet Apache Spark – natürlich immer in Abhängigkeit von der vorhandenen Hardware – außerordentliche Performance-Vorteile durch eine intensive Speichernutzung: Computations in the memory of the nodes in a cluster.

Ein zentraler Vorteil von Apache Spark ist, dass es sich direkt mittels Python programmieren lässt - dazu steht PySpark zur Verfügung. Python stellt im Bereich ML und Data Science ja eine der zentralen Programmiersprachen dar, so dass Data ScientistInnen direkt mit Apache Spark arbeiten können. Durch den Einsatz von Jupyter kann interaktiv gearbeitet werden, außerdem ist so eine gute Dokumentation der durchgeführten Arbeiten direkt möglich. 

Während des Seminars wird alles direkt praktisch in einem pySpark-System erlernt. Dazu kann entweder die Community Edition von Databricks genutzt werden oder eine durch masem erstellte virtuelle Maschine, die alle zentralen Komponenten enthält (Apache Hadoop/HDFS, Apache HIVE und Apache Spark mit PySpark und Jupyter). Buchen Sie ein Inhouse-Seminar, so arbeiten wir gerne auch auf ihrem System!

Inhalte: Wir beginnen zuerst mit den Kernfragen: Wann sprechen wir von Big Data (die drei Vs)? Wie wird Big Data gespeichert (HDFS)? Wie funktioniert der Map-Reduce-Ansatz zur Analyse von Big Data? Warum ist Apache Spark so viel schneller als Apache Hadoop und einfacher zu bedienen (PySpark)? Danach geht es dann direkt praktisch in PySpark mit Jupyter Notebooks los: Wir erstellen zusammen einen ersten kleinen praktischen Job.

RDDs (resilient distributed datasets) stellen das Kernkonzept von Apache Spark dar. Sie lernen, was RDDs sind und wie diese analysiert werden können, hier stellen die lambda-Funtkionen ein zentrales Konzept dar. Es werden die klassischen Funktionen eingesetzt: map, filter, ReduceByKey, SortByKey und Collect, alles Techniken, die Sie bereits in den Grundlagen zum Map-Reduce-Ansatz kennengelernt haben!

Da viele Daten auch in Form von relationalen Tabellen gespeichert sind, gibt es das DataFrame-Konzept in PySpark. Und diese können dann auch mit den klassischen Verfahren zur Analyse von relationen Tabellen analysiert und bearbeitet werden: mit PySpark SQL! Da relationale Tabellen auch die Kernstruktur (dann in Form von Design Matrizen) für viele Machine Learning Algorithmen darstellen, liegt nun der Fokus auf diesem Datentyp.

Neben PySpark SQL-Befehlen gibt es immer auch äquivalente Python-Befehle, so dass sich hier erfahrene Data ScientistInnen auch direkt wohl fühlen. Diese Befehle werden dann auch intensiv im Data Engineering eingesetzt und hier erprobt: Auswahl von Fällen und Variablen; Transformation von Variablen; Behandlung fehlender Werte etc.; Aufteilen des Datensatzes in Test- und Trainingsdatensätze etc.

Da die Designmatrix in rein numerischer Form vorliegen muss, stellt das Behandeln kategorialer Daten ein zentrales Thema im Data Engineering dar. Hier sind einige PySpark-typische Schritte durchzuführen: Zuerst werden die Kategorien mittels String Indexer in numerische Werte zerlegt, im nächsten Schritt wird dann aus diesen mittels One Hot Encoder numerischen Werte eine Dummy-Matrix erzeugt. Die Dummy Matrix kann dann, zusammen mit anderen Variablen, mittels Vector Assember erstellt und zur Analyse mittels Machine Learning Algorithmen im MLlib-Paket genutzt werden.

Der zweite Tag beginnt mit einer Fallstudie um die Themen des ersten Tags praktisch zu wiederholen und einzuüben. Nach Abschluss der Fallstudie wird diese gemeinsam besprochen und ggf. alternative Lösungsansätze aufgezeigt.

Danach liegt der Fokus auf Machine Learning mittels MLlib-Modul. Das Modul ist speziell auf Big Data ausgerichtet. Wir starten mit einem Überblick über die vorhandenen Machine Learning Algorithmen. Es werden nochmals typische Data Engineering Schritte in PySpark zusammengefasst. Das feature Submodul stellt Techniken u.a. zum Aufteilen des Datensatzes in Trainings und Testdatensätzen zur Verfügung, um Overfitting kontrollieren zu können.

Das Modell-Training wird am Beispiel der Logistischen Regression an einem einfache Klassifikationsbeispiel gezeigt. Das Modell wird evaluiert (Model Evalution) und für die Vorhersage (Prediction) genutzt, damit steht einem Deployment für praktische Business-Zwecke nichts mehr im Wege.

Im zweiten Machine Learning Teil wird dann eine Auswahl der im MLlib-Modul vorhandenen Supervised Machine Learning Algorithmen - Klassifikation und Regression - genauer betrachtet und direkt praktisch angewendet. An Unsupervised Learning Algorithmen werden die Clusteranalysen und die Recommentaion Engine detaillierter untersucht und genutzt.

Das Automatisieren des Analyseprozesses steht im dritten Machine Learning Teils im Zentrum: Dazu stehen in PySpark Pipelines zur Verfügung, in die die typischen Data Engineering Schritte und auch die typischen Machine Learning Schritte aufgenommen und automatisiert ausgeführt werden lassen können. Dazu werden die bisher erstellten Schritte genutzt und in eine Pipeline integeriert.

Abschließend sollen Möglichkeiten des Hyperparameter-Tuning zur Suche guter Machine-Learning Modelle gezeigt werden. Die Idee des Grid Searches wird an einem Beispiel gezeigt, danach Random Grid Search als effiziente Alternative genutzt. Schließlich werden auch diese Schritte in die Pipeline integiert.

INHOUSE-SEMINAR

Seminardurchführung am Standort des Kunden

1.290,00
pro Tag bis 4 Teilnehmer zzgl. gesetzlicher USt

  • Alle Inhalte der Inhouse-Seminare werden individuell zugeschnitten und zielgruppenspezifisch vermittelt.
    Intensive Nachbetreuung ermöglicht den Teilnehmern ihre Kenntnisse in kürzester Zeit umzusetzen
    .
  • Empfohlene Seminardauer: 2 Tage
  • Leihgebühren Schulungsnotebook (auf Wunsch): 35,- Euro (pro Tag, pro Schulungsrechner)
  • Telefon: +49 611 531 500 91
  • E-Mail: training@masem-training.de

firmen webinar

Ideal für das Home-Office oder dezentrale Arbeitsgruppen

€1.290,00
pro Tag bis 4 Teilnehmer zzgl. gesetzlicher USt 

  • Bei Seminaren in unserem virtuellen Klassenzimmer genießen Sie alle Vorteile der Inhouse-Seminare. Dabei nutzen Sie Ihre eigenen Rechner und erhalten von uns den gleichen Service in der gleichen hohen Qualität bei weniger Aufwand!
  • Kursdauer: Nach Absprache!
  • Telefon: +49 611 531 500 91
  • E-Mail: training@masem-training.de

Wir verwenden Cookies
Cookie-Einstellungen
Unten finden Sie Informationen über die Zwecke, für welche wir und unsere Partner Cookies verwenden und Daten verarbeiten. Sie können Ihre Einstellungen der Datenverarbeitung ändern und/oder detaillierte Informationen dazu auf der Website unserer Partner finden.
Analytische Cookies Alle deaktivieren
Funktionelle Cookies
Andere Cookies
Wir verwenden Cookies, um die Inhalte und Werbung zu personalisieren, Funktionen sozialer Medien anzubieten und unseren Traffic zu analysieren. Mehr über unsere Cookie-Verwendung
Einstellungen ändern Alle akzeptieren
Cookies