Definition Was ist Apache Hop?

Apache Hop ist eine auf Open Source Software basierende Plattform für Daten-Engineering und Daten-Orchestrierung. Daten-Workflows und -Pipelines lassen sich über eine grafische Benutzeroberfläche visuell einrichten und mit Metadaten beschreiben. Apache Hop läuft in einer Java-Umgebung und ist betriebssystemunabhängig einsetzbar. Die Funktionalität der Hop-Engine lässt sich über Plug-ins erweitern.

Firmen zum Thema

(Bild: © aga7ta - stock.adobe.com)

Apache Hop ist der Name einer auf Open Source Software basierenden Plattform für Daten-Engineering und Daten-Orchestrierung. Das Akronym Hop steht für Hop Orchestration Platform. Hop ist in Java geschrieben und lässt sich betriebssystemunabhängig verwenden. Die Software ist auf eine einfache, flexible und schnelle Nutzung ausgelegt. Daten-Workflows und Daten-Pipelines werden über eine grafische Benutzeroberfläche eingerichtet und verwaltet. Metadaten definieren, wie die Daten prozessiert werden sollen. Dank der GUI und der visuellen Arbeitsweise erhalten Datenexperten ohne spezifisches Programmier-Know-how einfachen Zugriff auf Daten und flexible Möglichkeiten einer bedarfsgerechten Verarbeitung. Programmierer und Entwickler können alternativ per Kommandozeilenbefehle arbeiten.

Die über Metadaten beschriebenen Workflows und Pipelines sind auf einer Vielzahl an Engines lokal oder remote ausführbar. Neben der nativen Hop-Engine werden beispielsweise Apache Spark, Apache Flink, Google Dataflow und andere unterstützt. Ursprünglich entstanden ist Apache Hop aus einem Kettle-Fork. Das 2019 gestartete Projekt ist seit 2020 ein Incubator-Projekt der Apache Foundation. Die Software steht unter Apache-Lizenz Version 2.0.

Das Architekturkonzept von Apache Hop

Die Architektur und das Design von Apache Hop sind auf eine hohe Flexibilität und einfache Erweiterbarkeit ausgerichtet. Das Kernstück der Plattform bildet eine leistungsstarke Hop-Engine. Die benötigten Funktionalitäten sind über Plug-ins realisiert. Schon in der Standardinstallation sind mehrere hundert Plug-ins enthalten. Eigene oder von der Community und Drittanbietern bereitgestellte Plug-ins lassen sich problemlos hinzufügen. Hop ist dank dieses Architekturkonzepts flexibel an individuelle Anforderungen anpassbar. Grundsätzlich eignet sich die Software für On-Premises-Installationen, Cloud-Umgebungen oder virtuelle Systeme.

Funktionsweise und Bedienung

Apache Hop arbeitet auf Basis von Metadaten. Die Metadaten beschreiben, wie Daten prozessiert oder Workflows und Pipelines orchestriert werden sollen. Anwender benötigen keine Programmierkenntnisse, um Daten-Workflows oder Daten-Pipelines zu erstellen, auszuführen, zu überwachen und zu managen. Über die grafische Benutzeroberfläche (Hop GUI) arbeiten Anwender rein visuell. Alle Funktionen der Software sind über die GUI verfügbar. Alternativ ist für Entwickler die Arbeit über Kommandozeilenbefehle möglich.

Apache Hop verwendet folgende Grundelemente, die alle mithilfe von Metadaten beschrieben sind:

  • Action: Eine in einem Workflow sequenziell oder optional parallel ausgeführte Operation.
  • Transform: Eine Arbeitseinheit in einer Pipeline, beispielsweise das Lesen von Daten aus einer Datenbank oder das Bereinigen von Daten.
  • Hop: Hops verknüpfen die Actions eines Workflows oder die Transforms einer Pipeline.
  • Pipeline: Sammlung von über Hops verknüpfen Transforms. Pipelines führen Datenoperationen wie des Lesen, Verändern und Schreiben von Daten aus. Die Transforms einer Pipeline laufen parallel ab.
  • Workflow: Sammlung von über Hops verknüpften Actions. Operationen werden sequenziell oder optional parallel ausgeführt. Sie beziehen sich in der Regel nicht direkt auf die Daten, sondern führen Aufgaben der Orchestrierung aus.
  • Project: Ein Project gruppiert Workflows, Pipelines, Metadaten-Objekte, Konfigurationen und Variablen logisch und beinhaltet eine oder mehrere Environments.
  • Environment: Eine Instanz eines Projekts, die die Runtime-Konfiguration und andere Metadaten-Objekte enthält

Beispielanwendungen für Hop

Apache Hop bietet zahlreiche Anwendungsmöglichkeiten. Beispielsweise lassen sich mithilfe von Hop Daten in großen Mengen automatisiert profilieren, strukturieren oder bereinigen. Auch die Datenmigration zwischen verschiedenen Anwendungen oder Datenbanken ist mit Hop realisierbar. Weitere Beispielanwendungen sind:

  • das Befüllen von Data Warehouses
  • die Integration verschiedener Datenarchitekturen und Datenbankmanagementsysteme
  • die Arbeit mit großen Datenmengen in Cloud-basierten Umgebungen
  • Daten-Engineering in streambasierten Plattformen
  • die Datenprozessierung in cloudnativen Anwendungsumgebungen

Vorteile durch den Einsatz von Apache Hop

Die Open-Source-Plattform für Daten-Engineering und -Orchestrierung bietet zahlreiche Vorteile. Die Software ist frei verfügbar und unter Apache-Lizenz Version 2.0 vielseitig einsetzbar. Sie benötigt zur Ausführung lediglich eine Java-Umgebung und unterstützt Rechner mit allen gängigen Betriebssystemen. Dank der grafischen Benutzeroberfläche Hop GUI ist ein rein visuelles Erstellen, Verwalten, Ausführen, Überwachen und Arbeiten mit Workflows und Pipelines möglich. Spezielle Programmierkenntnisse sind nicht notwendig. Datenexperten werden dadurch in die Lage versetzt, ihre Datenprojekte ohne Programmcode selbst umzusetzen. Für Entwickler steht alternativ eine befehlszeilenbasierte Arbeitsweise zur Verfügung. Die Hop-Engine ist leistungsfähig und in ihrer Funktionalität flexibel über ein Plug-in-Konzept erweiterbar. Workflows lassen sich lokal oder remote auf der Hop-Engine oder auf anderen Engines und Plattformen wie Apache Spark, Apache Flink oder Google Dataflow ausführen.

(ID:47895863)