Apache Spark hat sich im Big-Data-Ökosystem als Standard etabliert. Durch das wachsende Arsenal an Verfahren aus dem Bereich Machine Learning eignet es sich sehr gut, um auch aus großen Datenmengen valide Modelle zu erzeugen. Zudem ist durch die Anbindung der modernen und universellen Skriptsprache Python die Einstiegshürde gerade für (werdende) Data Scientists deutlich gesunken.
Der Workshop ist ein Crashkurs sowohl für Spark als auch für Machine Learning. Anhand von Beispielen und Übungen erhalten die Teilnehmer einen Grundstock an Hands-on-Erfahrung, der danach schnell ausgebaut werden kann.
Die Schulung wird auf Resourcen in der Amazon Cloud (AWS) zurückgreifen. Somit ist sichergestellt, dass die Teilnehmer unabhängig von ihrem Notebook über ausreichend Rechenkapazität verfügen. Die Beispiele und Übungen werden alle als Jupyter Notebooks zur Verfügung gestellt, es wird also primär im Browser gearbeitet.
Agenda
9:00 - 9:15 Organisation und Umgebung
9:15 - 9:30 Spark Kurzvorstellung
9:30 - 10:30 Spark DataFrame API (hands on training)
• Loading Data from S3
• Simple DataFrame Operations (Selects, ...)
• SparkSQL
10:30 - 10:45 Kaffeepause
10:45 - 11:00 Spark ML Architecture
11:00 - 12:00 Einfache Lineare Regression (hands on training)
• Extraktion der Features
• Training des Modells
• Vorhersage mit Hilfe des Modells
12:00 - 13:00 Miitagspause
13:00 - 13:30 Building Spark ML Pipelines (hands on training)
• Building Pipelines
• Training Pipelines
• Prediction using Pipelines
13:30 - 15:00 Building a simple Sentiment Classifier (hands on training)
• Bag of Words Model
• Feature Extraction
• Training a Classifier
15:00 - 15:15 Kaffeepause
15:15 - 16:30 Improving the Sentiment Classifier (hands on training)
• Removing Stop-Words
• TF-IDF Model
• Model Evaluation
• Parameter Selection / Cross Validation16:30
ca. 16.30 Ende
Technische Anforderungen
AWS Cluster:
Um die Schulung in einer realistischen Umgebung durchführen zu können, ohne dass die Teilnehmer über entsprechend ausgestattete Rechner verfügen, werden alle Übungen in der AWS Cloud durchgeführt.
Zusätzlich zu den üblichen Schulungsvoraussetzungen ist ein wenig Vorarbeit seitens der Teilnehmer zu leisten, um auf die Rechenkapazität in AWS zugreifen zu können. Die Teilnehmer müssen hierzu die folgenden Punkte beachten:
• Jeder Teilnehmer muss über einen eigenen Rechner verfügen.
• Jeder Rechner braucht einen Internetzugang. Insbesondere muss die Kommunikation nach außen via SSH (Port 22) möglich sein.
• Zudem benötigt jeder Teilnehmer einen SSH Client. Für Mac OS und Linux reicht hierzu das Kommandozeilenprogramm "ssh", für Windows kann Putty verwendet werden.
• Zusätzlich benötigen die Teilnehmer ein Plugin für Firefox oder Chrome, um via SSH Proxy auf alle Rechner in der Cloud zugreifen zu können. Es wird "FoxyProxy Standard" als Addon benötigt, die Konfiguration wird am Anfang des Workshops zur Verfügung gestellt.
◦ Firefox: https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/
◦ Chrome: https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp
Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte.
• Workshop-Teilnehmer hat keine Administrator-Rechte.
• Corporate Laptops mit übermäßig penibler Sicherheitssoftware
• Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden.
Vorkenntnisse
Praktische Programmiererfahrung. In der Schulung wird Python verwendet, aber auch bei Nichtkenntnis finden sich erfahrungsgemäß Teilnehmer in die Sprache sehr schnell ein.
Lernziele
* Im Workshop lernen die Teilnehmer die grundlegende Funktionsweise von Apache Spark.
* Mit PySpark und DataFrames lernen sie einfache Transformationen sowie Filtern und Joins.
* Anhand eines frei verfügbaren Datensatzes lernen die Teilnehmer die Konzepte des Machine Learning.
* Mit PySpark werden schließlich auch Pipelines für aufeinanderaufbauende Schritte verwendet.
// Kaya Kupferschmidt
arbeitet seit über zehn Jahren als freier Entwickler, Berater und Trainer mit Schwerpunkt Big Data und speziell Hadoop-Ökosystem. Er verfügt über vielfältige Erfahrungen in unter anderem im Online-Advertising, dem Energiesektor bis hin zu unternehmensweiten Data Lakes in großen Finanzinstituten. Derzeit fokussiert er sich auf Apache Spark und den Themenkomplex Machine Learning.