Apache Hadoop

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:

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

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

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.