Einführungstutorial

Einführung

In diesem Tutorial wird ein einfacher Flow mit zwei Processors und einem Funnel angelegt, wobei die grundlegenden Bestandteile der Oberfläche und der Nutzung von Processors veranschaulicht werden. Der fertige Flow wird ein FlowFile mit einem definierten Test erzeugen und bestimmte Metriken der generierten Inhalte zählen.

Voraussetzungen

Sie haben sich in IGUASU angemeldet und eine existierende Process Group geöffnet oder eine neue Process Group angelegt.

Processors und Funnel anlegen

Für diesen Flow werden zwei Processors angelegt: GenerateFlowFile und CountText.
Der Erste wird ein FlowFile mit einem bestimmten Text generieren und der zweite wird definierte Metriken zählen und die Ergebnisse abspeichern.

Die IGUASU-Oberfläche wird standardmäßig im Ansichtsmodus gestartet, in dem nur das Betrachten aber nicht das Editieren des Diagramms möglich ist. Um einen Processor anzulegen, muss daher zunächst mit dem Edit-Button in den Editiermodus gewechselt werden.

Processors anlegen

Per Drag-and-Drop kann nun das Zahnrad-Icon in das Diagramm gezogen werden, um einen Processor zu erstellen.

Processor erstellen

Dadurch wird eine Liste der verfügbaren Processors und deren Beschreibung angezeigt.

Liste der Processors

Über das Eingabefeld Search Filter kann nach Processors gesucht werden.

Für unser Beispiel wird der GenerateFlowFile-Processor, welcher FlowFiles erzeugt, benötigt. Um eine Instanz dieses Processors zu erzeugen, muss dieser zunächst ausgewählt werden. Beim Erstellen des Processors kann zudem das rechte Eingabefeld Name of the Component genutzt werden, um einen Namen zu definieren.

In unserem Beispiel wird der Name FlowFile erstellen vergeben.

Processor benennen

Nach dem Bestätigen wird nun der neue Processor im Diagramm angezeigt. Analog dazu wird für dieses Tutorial der CountText-Processor angelegt.

Zusätzlich soll ein Funnel angelegt werden, der es ermöglicht, Datenflüsse zusammenzuführen. In diesem Beispiel soll es dazu eingesetzt werden, um einen Endpunkt darzustellen und die Ergebnisse anzuzeigen.

Zur Erstellung eines Funnels wird das entsprechende Icon per Drag-and-drop in das Diagramm gezogen.

Funnel erstellen

Nachdem alle Elemente im Diagramm erstellt wurden, sollte die Übersicht etwa wie folgt aussehen:

Putfile-Processor

Während der GenerateFlowFile-Processor sich in einem gestoppten Zustand befindet, wird beim CountText-Processor zunächst ein Warnzeichen angezeigt. Das bedeutet, dass dieser Processor noch nicht vollständig konfiguriert wurde und so noch nicht ausführbar ist.
Daher sollen die angelegten Elemente in einem nächsten Schritt konfiguriert werden.

Processors konfigurieren

Für eine korrekte Konfiguration eines Processors müssen die Properties und Relations (Verknüpfungen) eingestellt werden.

Einstellungsoptionen

Durch das Auswählen eines Processors werden die Einstellungen auf der rechten Seite im Konfigurationsbereich dargestellt.
Jeder Processor besitzt zwei Einstellungsbereiche:

  • Processor Properties (Processor-spezifische Einstellungen)

  • Processor Settings

Einstellungsbereiche

Für unser Beispiel wollen wir beim GenerateFlowFile-Processor zunächst den Properties-Tab genauer betrachten. Hier würde bei diesem spezifischen Processor die Möglichkeit bestehen, FlowFiles mit zufälligen oder mit definierten Daten zu generieren. In diesem Fall soll der generierte Text für den FlowFile nicht zufällig, sondern fest definiert sein.

Um diese Einstellungsmöglichkeit anzeigen zu lassen, können über den Stern-Button am oberen Ende des Konfigurationsbereichs die Eingabefelder eingeblendet werden, die keine Pflichtfelder sind. Dadurch öffnet sich die Option einen Custom Text zu definieren. Hier kann ein beliebiger Text oder ein beliebiges Daten-Format als Inhalt für den FlowFile eingefügt werden. Um das Beispiel an dieser Stelle simpel zu halten, kann zunächst ein String eingefügt werden:

Auch wenn aller Anfang schwer ist,
sollte man nicht in der Mitte beginnen.

Die Konfiguration sollte dadurch wie in der folgenden Abbildung aussehen:

Dateigröße

Zusätzlich soll im Settings-Tab die Run Schedule auf 30 Sekunden (30 sec) eingestellt werden, damit ein gewisser Zeitabstand zwischen den generierten Daten vorhanden ist.

Run Schedule

Dadurch wird nun alle 30 Sekunden ein FlowFile mit dem festgelegten String erzeugt.

Die Einstellungen des Processors werden automatisch gespeichert, sobald man zum nächsten Processor wechselt oder in den Diagramm-Bereich klickt.
Es ist allerdings auch möglich, die Einstellungen manuell durch den jeweiligen Button in der Toolbar zu speichern.

Manuell speichern

Die Konfiguration des CountText-Processors verläuft ähnlich, wobei keine allgemeinen Settings verändert werden müssen. In den individuellen Processor-Properties kann bei diesem Processor definiert werden, welche Metriken bei den eingehenden Daten gezählt werden sollen. Bei dieser Option kann bei fast allen Metriken ein Haken gesetzt werden, womit die Konfiguration des Processors abgeschlossen ist.

CountText Konfiguration

Beim Funnel sind keine Konfigurationen notwendig, wodurch die benötigten Einstellungen der erstellten Elemente abgeschlossen sind.

Im nächsten Schritt müssen die Elemente noch verknüpft werden, um die Kommunikation der Daten zu ermöglichen.

Verknüpfungen

Die Kommunikation zwischen den Processors erfolgt mittels sogenannter Relations (Verknüpfungen). Diese sind gerichtete Verbindungen, welche den Fluss von Ein- und Ausgabedaten vorgeben.

Der Output eines Processors wird entlang einer ausgehenden Relation weitergeleitet, wobei die generierten Outputs in verschiedene Typen eingeteilt werden können. Für die meisten Processors stehen die success- und failure-Relationen zur Verfügung, die ebenfalls in diesem Tutorial genutzt werden.

Falls die Verarbeitung erfolgreich war, wird die Ausgabe entlang der success-Relation weitergeleitet.
Falls es bei der Verarbeitung zu einem Fehler kommen sollte, werden die Daten entlang der failure-Relation übermittelt.
Alle Arten des Outputs müssen entweder durch mindestens eine Relation weitergeleitet werden oder explizit terminiert werden.

In der angelegten Konstellation fehlen aktuell die folgenden drei Relationen für eine korrekte Konfiguration:

  • Der success-Output des GenerateFlowFile-Processors

  • Der success-Output des CountText-Processors

  • Der failure-Output des CountText-Processors

Damit die generierten Daten des GenerateFlowFile-Processors zum CountText-Processor gelangen, muss daher zunächst eine Verbindung zwischen den beiden Processors erstellt werden.

Diese Verknüpfung wird angelegt, indem per Drag-and-Drop aus der Mitte des Processors von einem der möglichen Relationssymbole eine Verbindung zum nächsten gezogen wird.

Processors verbinden

Da der GenerateFlowFile-Processor keine Fehler erzeugen kann, steht nur eine success-Relation zur Verfügung.

Zusätzlich müssen die success/failure-Ausgaben des CountText-Processors konfiguriert werden. Die success-Relation kann ähnlich wie beim GenerateFlowFile-Processor an den Funnel gezogen werden. Da an dieser Stelle keine Fehler in der Verarbeitung erwartet werden, kann diese Relation explizit im Settings-Tab terminiert werden.

Relation terminieren

Dadurch sind alle nötigen Outputs und Inputs der Processors mit Relationen konfiguriert und die Processors können ausgeführt werden.

Durch einen Rechtsklick auf den jeweiligen Processor können beide durch die Auswahl des Kommandos "Start" auf den Zustand "Running" umgestellt werden. Der GenerateFlowFile-Processor wird dadurch alle 30 Sekunden vom Scheduler ausgeführt, wodurch ein FlowFile generiert und an den CountText-Processor über die Relation übertragen und dort anschließend verarbeitet wird.

Die Ergebnisse der gezählten Metriken werden vom CountText-Processor im Anschluss als Metadaten (Attribute) der FlowFiles erstellt. Der aktuelle Stand des Inhalts und der Attribute der Daten, die verarbeitet wurden, werden nach der abschließenden Bearbeitung auf der Kante zwischen dem CountText-Processor und dem Funnel angezeigt. Durch das Klicken auf die Kante, können Daten in der Warteschlange im Konfigurationsbereich angesehen werden.

Ergebnisse der Verarbeitung

An dieser Stelle können unter Attribute die Metadaten und damit die Ergebnisse des CountText-Processors eingesehen werden. Des Weiteren befindet sich unterhalb der Attribute der Content des FlowFiles, der in diesem Fall der eingetragene String ist.

Liegen mehrere Datensätze vor, kann der anzuzeigende Datensatz durch Mausklick geöffnet werden, um weitere Informationen zu den jeweiligen FlowFiles zu erhalten.

Ergebnis

Durch dieses Tutorial wurde ein erster einfacher Flow angelegt und konfiguriert. Zur weiteren Einführung der Nutzung kann das Grundlagen-Tutorial durchgeführt werden, um die Transformation von FlowFiles zu testen.