Big Data Processing mit Apache Hadoop
Die Analyse umfangreicher Unternehmensdaten liefert Einblicke in oftmals verborgene Zusammenhänge. Dabei ergibt sich bereits aus der Vielfalt der erfassten Daten häufig bereits ein Problem, andererseits ist diese Vielfalt eine besondere Chance - vorausgesetzt man bewältigt die Datenflut effizient.
Werkzeuge und Methoden für systematische Datenanalysen (Datamining) existieren schon seit langem. Wenn es aber um unstrukturierte Inhalte wie z.B. Texte in Blogs oder auf Webseiten oder um Dokumente in einem verteilten CMS geht, stößt man schnell an deren Systemgrenzen. Datenbankserver sind in vielen Szenarien die optimale Lösung, aber deutliche Grenzen sind auch dort erkennbar sobald Skalierbarkeit und die zuverlässige Verarbeitung unstrukturierter Daten gefordert werden. Besonders die Skalierbarkeit auf Basis preiswerter Standardhardware und die flexiblen Integrationsmöglichkeiten in viele vorhandene IT-Systeme sind die Stärke des Cluster Systems Apache Hadoop.
Unser Ziel ist es, Ihnen den Einstieg in des Thema Big-Data-Processing zu vereinfachen. Sie können sich die Tools auch selbst installieren oder eine vorkonfigurierte Distribution z.B. von Cloudera Inc. aus dem Internet laden.
Aber was kommt danach? Genau das stellen wir Ihnen in unserem Praxis-Seminar vor. Dabei gehen wir auf konkrete Anwendungsbeispiele ein und zeigen Ihnen, mit welchen Methoden diese effizient zu bearbeiten sind. Wir arbeiten anhand praxisnaher Beispiele heraus, welche Tools im Umfeld von Hadoop welchen Nutzen haben, für welche Aufgabentypen diese verwendbar sind und wie Sie vorhandene Daten effizient in das System übertragen. Danach sind Sie in der Lage zu entscheiden, welche Ihrer Aufgaben mit dem MapReduce-Ansatz gelöst werden können und Sie starten selbst in ein neues interessantes Themengebiet: extrahieren Sie neue Informationen aus ihren vorhandenen Daten!
Trainer und Dozenten
Jörn Kuhlenkamp ist wissenschaftlicher Mitarbeiter an der TU Berlin und hat sich in seiner Promotion auf das Systemmanagement und die Entwicklung von verteilten skalierbaren Systemen, insbesondere Datenbanksysteme, in Cloud Umgebungen spezialisiert. Im Rahmen seiner wissenschaftlichen Tätigkeiten am Karlsruher Institut für Technologie (KIT), der TU Berlin und internationalen, industriellen Forschungszentren, wie dem IBM T.J. Watson Research Center, konnte er exzellente theoretische wie praktische Kenntnisse im Betrieb von Systemen im Umfeld von Apache Hadoop gewinnen.
Jörn Kuhlenkamp publiziert zum Thema skalierbare verteilte Systeme in Cloud Umgebungen seit mehreren Jahren international Forschungsarbeiten und hält weltweit Vorträge, welche den Stand der Technik auf diesem Gebiet weiter vorantreiben.
Voraussetzungen
Grundlegende Kenntnisse in:
- Java, C oder C++ Programmierung
- Bedienung von Linux (Shell, Editor, Dateirechte)
Inhalt
Einführung
- Einsatzgebiete von Apache Hadoop
- Designziele und Weiterentwicklungen
- Das Apache Hadoop Ecosystem
Grundlegende Berechnungsmodelle und Basisdienste
- Jobs mit einfacher Iteration: Apache Hadoop MapReduce
- Jobs mit mehrfachen Iterationen: Apache Spark
- Koordination in verteilten Systemen: Apache Zookeeper
Speichersysteme
Speichersysteme managen und erlauben Zugriff auf die Datenbasis für Berechnungen und speichern Ergebnisse. Lernen Sie relevante hoch verfügbare und skalierbaren Speichersysteme und ihre unterschiedlichen Eigenschaften kennen, die Basisdienste für die Ausführung von Jobs bereitstellen.
- Hadoop Distributed File System (HDFS)
- Apache Cassandra
- Apache HBase
Job Spezifikation
Um eine schnelle und fehlerfreie Spezifikation von Jobs zu ermöglichen, kann auf eine Vielzahl von Frameworks zurückgegriffen werden, die auf höheren Abstraktionsebenen als MapReduce angesiedelt sind oder Implementierungen für bestimmte Einsatzdomänen bieten. Lernen Sie anhand von praktischen Beispielen, welches Framework für welche Problemstellung geeignet ist.
- SQL: Apache Hive
- Datenflüsse: Apache Pig
- Berechnungen auf Graphen: Apache Giraph
- Machine Learning: Apache Mahout
Resource Negotiation
Um unterschiedliche Jobs auf einem Cluster parallel und verlässlich ausführen zu können, muss die Ausführung unterschiedliche Jobs koordiniert und bereitgestellte Ressourcen pro Job gemanagt werden.
- Apache Hadoop YARN
- Apache Mesos
Deployment
Hadoop Cluster können in unterschiedlichen Umgebungen deployed und betrieben oder als gehosteter Service genutzt werden.
- Hosted Service: AWS Elastic MapReduce, Google Cloud Dataproc
- IaaS Deployment: AWS EC2
Cluster Management und Tools
Lernen Sie Tools und Techniken kennen um einen Hadoop Cluster zu deployen, betreiben und optimieren.
- Monitoring
- Performance-Tuning
- Hochverfügbarkeit
- Sicherheit
- Jobs mit einfacher Iteration: Apache Hadoop MapReduce
- Jobs mit mehrfachen Iterationen: Apache Spark
- Koordination in verteilten Systemen: Apache Zookeeper
Speichersysteme
Speichersysteme managen und erlauben Zugriff auf die Datenbasis für Berechnungen und speichern Ergebnisse. Lernen Sie relevante hoch verfügbare und skalierbaren Speichersysteme und ihre unterschiedlichen Eigenschaften kennen, die Basisdienste für die Ausführung von Jobs bereitstellen.
- Hadoop Distributed File System (HDFS)
- Apache Cassandra
- Apache HBase
Job Spezifikation
Um eine schnelle und fehlerfreie Spezifikation von Jobs zu ermöglichen, kann auf eine Vielzahl von Frameworks zurückgegriffen werden, die auf höheren Abstraktionsebenen als MapReduce angesiedelt sind oder Implementierungen für bestimmte Einsatzdomänen bieten. Lernen Sie anhand von praktischen Beispielen, welches Framework für welche Problemstellung geeignet ist.
- SQL: Apache Hive
- Datenflüsse: Apache Pig
- Berechnungen auf Graphen: Apache Giraph
- Machine Learning: Apache Mahout
Resource Negotiation
Um unterschiedliche Jobs auf einem Cluster parallel und verlässlich ausführen zu können, muss die Ausführung unterschiedliche Jobs koordiniert und bereitgestellte Ressourcen pro Job gemanagt werden.
- Apache Hadoop YARN
- Apache Mesos
Deployment
Hadoop Cluster können in unterschiedlichen Umgebungen deployed und betrieben oder als gehosteter Service genutzt werden.
- Hosted Service: AWS Elastic MapReduce, Google Cloud Dataproc
- IaaS Deployment: AWS EC2
Cluster Management und Tools
Lernen Sie Tools und Techniken kennen um einen Hadoop Cluster zu deployen, betreiben und optimieren.
- Monitoring
- Performance-Tuning
- Hochverfügbarkeit
- Sicherheit
- SQL: Apache Hive
- Datenflüsse: Apache Pig
- Berechnungen auf Graphen: Apache Giraph
- Machine Learning: Apache Mahout
Resource Negotiation
Um unterschiedliche Jobs auf einem Cluster parallel und verlässlich ausführen zu können, muss die Ausführung unterschiedliche Jobs koordiniert und bereitgestellte Ressourcen pro Job gemanagt werden.
- Apache Hadoop YARN
- Apache Mesos
Deployment
Hadoop Cluster können in unterschiedlichen Umgebungen deployed und betrieben oder als gehosteter Service genutzt werden.
- Hosted Service: AWS Elastic MapReduce, Google Cloud Dataproc
- IaaS Deployment: AWS EC2
Cluster Management und Tools
Lernen Sie Tools und Techniken kennen um einen Hadoop Cluster zu deployen, betreiben und optimieren.
- Monitoring
- Performance-Tuning
- Hochverfügbarkeit
- Sicherheit
- Hosted Service: AWS Elastic MapReduce, Google Cloud Dataproc
- IaaS Deployment: AWS EC2
Cluster Management und Tools
Lernen Sie Tools und Techniken kennen um einen Hadoop Cluster zu deployen, betreiben und optimieren.
- Monitoring
- Performance-Tuning
- Hochverfügbarkeit
- Sicherheit
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.