Was ist Apache Hadoop?

Die Apache-Hadoop-Software ist ein Open-Source-Framework zur verteilten Speicherung und Verarbeitung großer Datasets auf Clustern von Computern anhand einfacher Programmiermodelle. Hadoop lässt sich von einem einzigen Computer bis auf Tausende Computer in einem Cluster skalieren, die jeweils ihre lokale Rechenleistung und Speicherkapazität bereitstellen. Dadurch kann Hadoop große Datasets im Bereich zwischen einigen Gigabyte und einigen Petabyte effizient speichern und verarbeiten.

Erfahren Sie, wie Sie mit Dataproc Apache Hadoop-Cluster in Google Cloud einfach, integriert und kostengünstig ausführen können.

Hadoop-Verlauf

Hadoop hat seinen Ursprung in der frühen Ära des World Wide Web. Das Web wuchs auf Millionen und dann Milliarden von Seiten. Die Aufgabe, Suchergebnisse zu suchen und zurückzugeben, wurde dabei zu einer der größten Herausforderungen. Start-ups wie Google, Yahoo und AltaVista begannen mit der Entwicklung von Frameworks zur Automatisierung von Suchergebnissen. Ein Projekt namens Nutch wurde von den Informatikern Doug Cutting und Mike Cafarella entwickelt und basiert auf den frühen Arbeiten von Google an MapReduce (mehr dazu später) und dem Google-Dateisystem. Nutch wurde schließlich in die Open-Source-Software-Grundlage von Apache verschoben und zwischen Nutch und Hadoop aufgeteilt. Yahoo, wo Cutting 2006 zu arbeiten begann, stellte Hadoop 2008 als Open Source zur Verfügung.

Hadoop wird manchmal auch als Akronym für „High Availability Distributed Object Oriented Platform“ bezeichnet, wurde aber ursprünglich nach dem Spielzeugelefanten des Sohns von Cutting benannt.

Von Hadoop definiert

Hadoop ist ein Open-Source-Framework, das auf Java basiert und die Speicherung und Verarbeitung großer Datenmengen für Anwendungen verwaltet. Hadoop nutzt verteilten Speicher und parallele Verarbeitung für die Verarbeitung von Big-Data- und Analysejobs und teilt Arbeitslasten in kleinere Arbeitslasten auf, die gleichzeitig ausgeführt werden können.

Das primäre Hadoop-Framework besteht aus vier Modulen, die zusammen das Hadoop-System bilden:

Hadoop Distributed File System (HDFS): Als Hauptkomponente des Hadoop-Ökosystems ist HDFS ein verteiltes Dateisystem, in dem einzelne Hadoop-Knoten mit Daten arbeiten, die sich in ihrem lokalen Speicher befinden. Dadurch wird Netzwerklatenz vermieden und der Zugriff auf Anwendungsdaten mit hohem Durchsatz ermöglicht. Außerdem müssen Administratoren Schemas nicht im Voraus definieren.

Yet Another Resource Negotiator (YARN): YARN ist eine Plattform zur Ressourcenverwaltung. Sie verwaltet die Rechenressourcen in Clustern und plant mit ihnen die Anwendungen von Nutzern. YARN führt die Planung und Ressourcenzuweisung im gesamten Hadoop-System durch.

MapReduce: MapReduce ist ein Programmiermodell für die Verarbeitung großer Datenmengen. Im MapReduce-Modell werden Teilmengen größerer Datasets und Anweisungen zur Verarbeitung dieser Teilmengen an mehrere verschiedene Knoten gesendet, wobei jede Teilmenge von einem Knoten parallel zu anderen Verarbeitungsjobs verarbeitet wird. Nach der Verarbeitung der Ergebnisse werden einzelne Teilmengen zu einem kleineren, besser überschaubaren Dataset kombiniert.

Hadoop Common: Hadoop Common umfasst die Bibliotheken und Dienstprogramme, die von anderen Hadoop-Modulen genutzt und freigegeben werden. 

Über HDFS, YARN und MapReduce hinaus wächst das gesamte Open-Source-System von Hadoop ständig weiter und umfasst viele Tools und Anwendungen zum Erfassen, Speichern, Verarbeiten, Analysieren und Verwalten von Big Data. Dazu zählen u. a. Apache Pig, Apache Hive, Apache HBase, Apache Spark, Presto und Apache Zeppelin.

Wie funktioniert Hadoop?

Hadoop ermöglicht die Verteilung von Datasets auf einem Standard-Hardware-Cluster. Die Verarbeitung erfolgt parallel auf mehreren Servern.

Softwareclients geben Daten in Hadoop ein. HDFS verarbeitet Metadaten und das verteilte Dateisystem. MapReduce verarbeitet und konvertiert die Daten dann. Schließlich teilt YARN die Jobs auf den Computing-Cluster auf.

Hadoop-Module sind so konzipiert, dass häufige Hardwareausfälle bei einzelnen Rechnern oder ganzen Racks automatisch durch die Software im Framework behoben werden.

Welche Vorteile bietet Hadoop?

Skalierbarkeit

Hadoop ist eines der wichtigsten Tools zum schnellen Speichern und Verarbeiten großer Datenmengen. Dies geschieht mithilfe eines verteilten Computing-Modells, das die schnelle Verarbeitung von Daten ermöglicht, die durch Hinzufügen von Rechenknoten schnell skaliert werden können.

Geringe Kosten

Als Open-Source-Framework, das auf Standardhardware ausgeführt werden kann und über ein großes Ökosystem an Tools verfügt, ist Hadoop eine kostengünstige Option für die Speicherung und Verwaltung von Big Data. 

Flexibel

Hadoop ermöglicht Flexibilität bei der Datenspeicherung, da die Daten vor ihrer Speicherung nicht vorverarbeitet werden müssen. Dies bedeutet, dass ein Unternehmen so viele Daten speichern kann, wie es möchte, und sie dann später nutzen können.

Robustheit

Als verteiltes Computing-Modell ermöglicht Hadoop Fehlertoleranz und Systemausfallsicherheit. Wenn also einer der Hardwareknoten ausfällt, werden die Jobs an andere Knoten umgeleitet. Die auf einem Hadoop-Cluster gespeicherten Daten werden auf andere Knoten innerhalb des Systems repliziert, um die Gefahr von Hardware- oder Softwarefehlern zu verringern.

Welche Herausforderungen gibt es bei Hadoop?

Komplexität und Einschränkungen von MapReduce

Als dateiintensives System kann MapReduce ein schwieriges Tool für komplexe Aufgaben wie interaktive Analyseaufgaben sein. MapReduce-Funktionen müssen ebenfalls in Java geschrieben sein und können eine steile Lernkurve erfordern. Das MapReduce-System ist recht groß und enthält viele Komponenten für verschiedene Funktionen, die die Auswahl der zu verwendenden Tools erschweren.

Sicherheit

Die Vertraulichkeit und der Schutz von Daten können zu Problemen führen, da Hadoop so große Datasets verarbeitet. Es hat sich ein System von Tools für die Authentifizierung, Verschlüsselung, Prüfung und Bereitstellung entwickelt, die Entwicklern helfen, Daten in Hadoop zu schützen. 

Governance und Verwaltung

Hadoop verfügt nicht über viele robuste Tools für Datenverwaltung und -Governance oder für Datenqualität und -standardisierung. 

Talentlücken

Wie in vielen Bereichen der Programmierung gibt es auch bei Hadoop einen anerkannten Fachkräftemangel. Es ist nicht immer einfach, Entwickler zu finden, die über die erforderlichen Java-Fähigkeiten verfügen, um MapReduce, Betriebssysteme und Hardware zu programmieren. Darüber hinaus erfordert MapReduce eine steile Lernkurve, was es schwierig macht, neue Programmierer über die Best Practices und das System auf den neuesten Stand zu bringen.

Warum ist Hadoop wichtig?

Das Forschungsunternehmen IDC schätzt, dass 2020 62,4 Zettabyte an Daten erstellt oder repliziert wurden, die durch das Internet der Dinge, soziale Medien, Edge-Computing und in der Cloud erzeugte Daten generiert wurden. Das Unternehmen prognostiziert ein Datenwachstum von 2020 bis 2025 von 23% pro Jahr. Obwohl nicht alle diese Daten gespeichert werden (sie werden entweder nach der Nutzung gelöscht oder überschrieben), wächst der Datenbedarf weltweit weiter. 

Hadoop-Tools

Hadoop verfügt über ein großes Netzwerk an Open-Source-Tools, mit denen die Funktionen des Kernmoduls ergänzen und erweitert werden können. Zu den wichtigsten mit Hadoop verwendeten Softwaretools gehören:

Apache Hive: Ein Data Warehouse, das Programmierern die Arbeit mit Daten in HDFS über eine Abfragesprache namens HiveQL ermöglicht, die SQL ähnelt

Apache HBase:Eine nicht relationale verteilte Open-Source-Datenbank, die oft mit Hadoop kombiniert wird

Apache Pig: Ein Tool, das als Abstraktionsebene über MapReduce verwendet wird, um große Datenmengen zu analysieren und Funktionen wie Filtern, Sortieren, Laden und Join

Apache Impala: Open-Source-SQL-Abfrage-Engine mit massiver Parallelverarbeitung, die oft mit Hadoop verwendet wird

Apache Sqoop: Eine Befehlszeilenanwendung zur effizienten Übertragung von Bulk-Daten zwischen relationalen Datenbanken und Hadoop

Apache ZooKeeper: Ein Open-Source-Server, der eine zuverlässige verteilte Koordination in Hadoop ermöglicht; ein Dienst für „Wartung von Konfigurationsinformationen, Benennung, Bereitstellung verteilter Synchronisierung und Bereitstellung von Gruppendiensten

Apache Oozie: Ein Workflow-Planer für Hadoop-Jobs

Wofür wird Apache Hadoop eingesetzt?

Hier sind einige gängige Anwendungsfälle für Apache Hadoop:

Analyse und Big Data

Unternehmen und Organisationen jeder Art nutzen Hadoop für die Forschung, die Verarbeitung von Produktionsdaten und Analysen, bei denen Terabyte oder Petabyte an Big Data verarbeitet, unterschiedliche Datasets gespeichert und Daten parallel verarbeitet werden müssen.

Datenspeicherung und -archivierung

Da Hadoop Massenspeicherung auf Standardhardware ermöglicht, eignet es sich als kostengünstige Speicheroption für alle Arten von Daten, wie z. B. Transaktionen, Klickstreams oder Sensor- und Maschinendaten.

Data Lakes

Da Hadoop Daten ohne Vorverarbeitung speichern kann, kann es als Ergänzung zu den Data Lakes genutzt werden, in denen große Mengen an Rohdaten gespeichert werden.

Marketinganalysen

Marketingabteilungen verwenden häufig Hadoop, um CRM-Daten (Customer-Relationship-Management) zu speichern und zu analysieren.

Risikomanagement

Banken, Versicherungen und andere Finanzdienstleister nutzen Hadoop zur Erstellung von Risikoanalyse- und Risikomanagementmodellen. 

KI und Machine Learning

Hadoop-Ökosysteme unterstützen die Datenverarbeitung und Modelltrainingsvorgänge für ML-Anwendungen.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
Google Cloud