Einführungs-Tutorial

Einführung

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

Prozessoren und Funnel anlegen

Für diesen Flow werden zwei Prozessoren angelegt: GenerateFlowFile und CountText.
Der Erste wird einen FlowFiles 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, wo nur das Betrachten aber nicht das Editieren des Diagramms erlaubt ist. Um einen Prozessor anzulegen, muss daher zunächst mit dem Edit-Button in den Bearbeitungsmodus gewechselt werden.

Prozessoren anlegen

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

Prozessor erstellen

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

Liste der Prozessoren

Mit dem Eingabefeld kann nach Prozessoren gesucht werden.
Für unser Beispiel wird der GenerateFlowFile-Prozessor, welcher FlowFiles erzeugt, benötigt. Beim Erstellen des Prozessors kann zudem das rechte Eingabefeld genutzt werden, um einen Namen zu definieren.

In unserem Beispiel wird der Name Flowfile erstellen vergeben.

Prozessor benennen

Nach dem Bestätigen wird nun der neue Prozessor im Diagramm angezeigt. Zusätzlich muss für dieses Tutorial der CountText-Prozessor angelegt werden, bei dem dieselben Schritte durchgeführt werden.

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 so ähnlich wie in der folgenden Abbildung aussehen.

Putfile-Prozessor

Während der GenerateFlowFile-Prozessor sich in einem gestoppten Zustand befindet, wird beim CountText-Prozessor zunächst ein Warnzeichen angezeigt. Das bedeutet, dass dieser Prozessor 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.

Prozessoren konfigurieren

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

Einstellungsoptionen

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

  • Processor Properties (prozessorspezifische Einstellungen)

  • Processor Settings

Einstellungsbereiche

Für unser Beispiel wollen wir beim GenerateFlowFile-Prozessor zunächst den Properties-Tab genauer begutachten. Hier würde bei diesem spezifischen Prozessor 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 hier 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" eingestellt werden, damit ein gewisser Zeitabstand zwischen den generierten Daten vorhanden ist.

Run Schedule

Dadurch werden nun alle 30 Sekunden ein Flowfile mit dem festgelegten String erzeugt.

Die Einstellungen des Prozessors werden automatisch gespeichert, sobald man zum nächsten Prozessor 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-Prozessors verläuft ähnlich, wobei keine allgemeinen Settings verändert werden müssen. In den individuellen Prozessor-Properties kann bei diesem Prozessor definiert werden, welche Metriken bei den eingehenden Daten gezählt werden sollen. Bei dieser Option kann bei allen Metriken ein Haken gesetzt werden, womit die Konfiguration des Prozessors 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 Prozessoren erfolgt mittels sogenannter Relations (Verknüpfungen). Diese sind gerichtete Verbindungen welche den Fluss von Ein- und Ausgabedaten vorgeben.

Der Output eines Prozessors wird entlang einer ausgehenden Relation weitergeleitet, wobei die generierten Outputs in verschiedene Typen eingeteilt werden können. Für die meisten Prozessoren stehen die success- und failure-Relationen zur Verfügung, die ebenfalls in diesem Tutorial genutzt werden.
Falls 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-Prozessors

  • Der success/failure-Output des CountText-Prozessors

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

Diese Verknüpfung wird angelegt, indem per Drag-and-Drop aus der Mitte des Prozessors eine Verbindung zum nächsten gezogen wird.

Prozessoren verbinden

Dadurch wird nun ein Auswahlmenü für die Art der gewünschten Relation angezeigt. Da der GenerateFlowFile-Prozessor keine Fehler erzeugen kann, steht nur eine success-Relation zur Verfügung.

Zusätzlich müssen die success/failure-Ausgaben des CountText-Prozessors konfiguriert werden. Die success-Relation kann ähnlich wie beim GenerateFlowFile-Prozessor 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 Prozessoren mit Relationen konfiguriert und die Prozessoren können ausgeführt werden.

Durch einen Rechtsklick auf die Prozessoren können beide auf den Zustand "Running" umgestellt werden. Der GenerateFlowFile-Prozessor wird dadurch alle 30 Sekunden vom Scheduler ausgeführt, wodurch ein Flowfile generiert und an den CountText-Prozessor über die Relation übertragen und dort anschließend verarbeitet wird. Die Ergebnisse der gezählten Metriken werden vom CountText-Prozessor 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-Prozessor und dem Funnel angezeigt. Durch das Klicken auf die Kante, können Daten in der Warteschlange im Konfigurationsbereich angesehen werden.

Ergebnisse der Verarbeitung

Die dargestellten Daten in der Warteschlange können zusätzlich ausgeklappt werden, um weitere Informationen zu den FlowFiles zu erhalten.

FlowFile

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

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.