Training: Programmieren mit Apache Hadoop 2.x

Teilnahmevoraussetzungen und Zielgruppe

  • Java-Entwickler, Architekten und Personen, die Java-MapReduce-Anwendungen für Hadoop 2.x verstehen und entwickeln wollen
  • Erfahrung in der Entwicklung von Java-Anwendungen und im Umgang mit Eclipse und Maven
  • Vorkenntnisse in Apache Hadoop sind nicht notwendig
  • Die Übungen werden mit Hilfe einer virtuellen Machine auf dem eigenen Notebook durchgeführt. Dieser muss die folgenden Voraussetzungen erfüllen:
    • Zeitgemäße CPU mit 2+ GHz (bevorzugt Intel i5/i7 oder äquivalente AMD-Architektur)
    • 8+ GB RAM
    • 50 GB freier Speicherplatz
    • 64-bit Betriebssystem (Windows 7, Windows 8 oder Mac OS X)
    • Minimale Displayauflösung von 800 x 600 Pixel
    • VMWare Player für Windows (oder VMWare Fusion für Mac)

Schulungssprache

Deutsch, Material auf Englisch

Termine und Ort

02.-05.03.2015, Düsseldorf
08.-11.06.2015, München
21.-24.09.2015, Frankfurt

Teilnahmegebühr

2.400 € EUR zzgl. MwSt.

Anmeldeformular →

Unser Trainer-Team:

Alexandra Klimova

alexandra_klimova

Weiterlesen

Alexandra Klimova arbeitet als IT Consultant für die codecentric AG, den Experten für agile Software-Entwicklung und innovative Technologien wie NoSQL & Big Data in Deutschland. Sie beschäftigt sich seit 2012 mit dem Design und der Implementierung von Big Data Systemen basierend auf Apache Hadoop und ist zudem seit 2013 eine zertifizierte Hadoop Trainerin. Bei diesen Aufgaben bringt sie ihre Stärken beim Entwickeln von Enterprise Software sowie in den Bereichen Machine Learning & Business Intelligence voll ein.

Dr. Stephan Kepser

stephan_kepser

Weiterlesen

Dr. Stephan Kepser arbeitet für die codecentric AG, den Experten für agile Software-Entwicklung und innovative Technologien wie NoSQL & Big Data in Deutschland. Er ist ein zertifizierter Hadoop Trainer und beschäftigt sich schon seit langer Zeit mit Themen rund um Cloud Computing und Big Data. Zu diesen Themen hat er schon diverse Fach- und Blogartikel verfasst und zudem hat er die Hadoop User Group Rhein-Ruhr gegründet. Seine Interessen reichen von rechtlichen Fragen über Fragen der Architektur und des Systemdesigns bis hin zu den technischen Details von NoSQL-Datenbanken.

Uwe Seiler

uwe_seiler

Weiterlesen

Uwe Seiler arbeitet als Senior IT Consultant bei der codecentric AG und begeistert sich für die Möglichkeiten, die sich durch die Vielzahl an technologischen Innovationen im Bereich der verteilten Systeme bieten. Diese Begeisterung lebt er zum einen als Consultant und zertifizierter Hadoop Trainer in Big Data Projekten aus und zum anderen liebt er die Diskussion darüber, z.B. als Redner auf Konferenzen oder auf den von ihm (mit-)organsierten User Groups zu MongoDB und Hadoop im Raum Rhein-Main.

Zusammenfassung:

Apache Hadoop ist eine der umfassendsten und populärsten Lösungen für die aktuellen Herausforderungen im Umfeld von Big Data. Hadoop 2.x bietet dabei sowohl eine skalierbare und zuverlässige Plattform für das Speichern von großen Datenmengen unterschiedlicher Struktur und Herkunft als auch zahlreiche Werkzeuge und Paradigmen für deren Verarbeitung. Zudem existiert rund um diese Kernfunktionalitäten eine Vielzahl von zusätzlichen Open Source Projekten und Softwarelösungen, die Apache Hadoop 2.x zu einer funktionsreichen Plattform rund um Big Data machen.

Das viertägige Training richtet sich an erfahrene Java-Entwickler, die besser verstehen wollen, wie man Lösungen auf Basis von Apache Hadoop 2.x entwickelt und implementiert. Da das Training auch für Neulinge im Bereich Apache Hadoop geeignet ist, starten wir mit den Grundlagen von Hadoop 2.x und YARN, lernen das verteilte Dateisystem HDFS kennen und diskutieren die grundsätzliche Funktionsweise von MapReduce. Danach steht die Programmierung von MapReduce-Jobs im Vordergrund. Wir gehen die einzelnen Phasen und Möglichkeiten von MapReduce durch und probieren das Gelernte immer direkt anhand von Praxisbeispielen aus. Am letzten Tag verschaffen wir uns noch einen Überblick über die beiden Frameworks Pig und Hive, die beide auf MapReduce aufbauen und lernen zudem Oozie zur Verwaltung von komplexeren Workflows kennen.

Das Training besteht zu jeweils ca. 50% aus praxisorientierten Übungen und theoretischen Präsentationen und findet in Kooperation mit dem amerikanischen Anbieter Hortonworks statt, welcher die einzige 100%-prozentige Open Source Hadoop-Distribution anbietet.

Themen:

  • Einführung in Hadoop 2.x und das Hadoop Distributed File System (HDFS)
  • Einführung in YARN, das Framework zum Management von Clusterressourcen
  • Entwicklung einer Java-MapReduce-Applikation
  • Ausführen einer MapReduce Applikation mittels YARN
  • Benutzung von Combinern und In-Map Aggregation zur Beschleunigung von MapReduce Jobs
  • Schreiben eines eigenen Partitioners zur Vermeidung von ungleichmäßiger Datenverteilung auf die Reducer
  • Durchführung einer sekundären Sortierung mittels eigener Key & Group Comparator Klassen
  • Erkennung von Use Cases für die eingebauten Input- und Output-Formate
  • Implementierung von eigenen Input- und Output-Formaten für einen MapReduce Job
  • Optimierung von MapReduce Jobs durch die Anwendung von Best Practices
  • Konfiguration von MapReduce Jobs zur Optimierung von Mappern und Reducern
  • Implementierung einer eigenen RawComparator Klasse
  • Benutzung des Distributed Cache
  • Erläuterung der unterschiedlichen Join-Strategien in Hadoop
  • Verwendung eines Bloom-Filters zum Joinen von zwei großen Datensets
  • Durchführung von Unit Tests mittels der UnitMR API
  • Einführung in HBase
  • Implementierung einer HBase MapReduce Applikation
  • Beispielhafte Use Cases für Pig und Hive
  • Implementierung eines einfachen Pig-Skripts zur Datenexploration und -transformation
  • Implementierung einer Pig UDF (User Defined Function) in Java
  • Ausführen einer Hive-Abfrage
  • Implementierung einer Hive UDF (User Defined Function) in Java
  • Benutzung der JobControl Klasse zur Erzeugung von Workflows mit MapReduce Jobs
  • Benutzung von Oozie zur Definition und Planung von Workflows

Tag 1

  • Einführung in Hadoop 2.x und die Hortonworks Data Plattform
  • Das Hadoop Distributed File System (HDFS)
  • Das MapReduce-Framework
  • Ausführen von MapReduce-Jobs
  • Programmieren von MapReduce-Jobs
  • MapReduce – Optimierung der Map-Phase

Tag 2

  • MapReduce – Die Partitionierungs-Phase
  • MapReduce – Die Sortierungs-Phase
  • MapReduce – Eingabe- und Ausgabeformate
  • MapReduce – Unterstützung für Streaming

Tag 3

  • MapReduce – Optimierung von Jobs
  • MapReduce – Fortgeschrittene Themen
  • MapReduce – Unit Testing mit MRUnit
  • Programmieren mit HBase

Tag 4

  • Programmieren mit Pig
  • Programmieren mit Hive
  • Anlegen und Verwalten von Workflows mittels Oozie