JoinEnrichment 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Beschreibung

Fügt Datensätze aus zwei verschiedenen FlowFiles zusammen, wobei ein FlowFile, das „Original“, beliebige Datensätze enthält und das zweite FlowFile, die „Anreicherung“, zusätzliche Daten enthält, die zur Anreicherung des ersten verwendet werden sollen. Weitere Informationen zur Konfiguration dieses Prozessors und zu den verschiedenen Anwendungsfällen, für die er vorgesehen ist, finden Sie unter „Weitere Details“.

Tags

combine, enrichment, fork, join, merge, record, recordpath, sql, streams, wrap

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Enrichment Record Reader

Der Record Reader zum Lesen des „Anreicherungs“-FlowFile

Insertion Record Path

Gibt an, an welcher Stelle im „Original“-Datensatz die Felder des „Erweiterungs“-Datensatzes eingefügt werden sollen. Beachten Sie, dass die Anreicherung nicht eingefügt wird, wenn die RecordPath auf kein bestehendes Feld im ursprünglichen Datensatz verweist.

Join Strategy

Gibt an, wie die beiden FlowFiles zu einem einzigen FlowFile zusammengefügt werden.

Maximale Anzahl von Bins

Gibt die maximale Anzahl von Bins an, die gleichzeitig im Speicher gehalten werden können

Original Record Reader

Der Record Reader zum Lesen des Original-FlowFile

Record Writer

Der Record Writer, der zum Schreiben der Ergebnisse verwendet wird. Wenn der Record Writer so konfiguriert ist, dass er das Schema vom Datensatz erbt, ist das Schema, das er erbt, das Ergebnis der Verschmelzung des „Original“-Datensatzschemas und des „Anreicherungs“-Datensatzschemas.

SQL

Die zu bewertende SQL SELECT-Anweisung. Expression Language kann bereitgestellt werden, aber dies kann zu einer schlechteren Leistung führen. Da dieser Prozessor mit zwei FlowFiles gleichzeitig arbeitet, ist es auch wichtig zu verstehen, wie die Attribute referenziert werden. Wenn beide FlowFiles ein Attribut mit demselben Namen, aber unterschiedlichen Werten haben, löst die Expression Language den Wert auf, der vom „enrichment“-FlowFile bereitgestellt wird.

Timeout

Gibt an, wie lange maximal auf das zweite FlowFile gewartet werden soll, sobald das erste beim Prozessor eintrifft. Danach wird das erste FlowFile an die Beziehung „timeout“ weitergeleitet.

dbf-default-precision

Wenn ein DECIMAL-/NUMBER- Wert als Avro-Logik-Typ „decimal“ geschrieben wird, ist eine bestimmte „precision“ (Genauigkeit) erforderlich, die die Anzahl der verfügbaren Ziffern angibt. Im Allgemeinen wird die Genauigkeit durch die Datentypdefinition der Spalte oder die Standardeinstellung der Datenbank-Engine festgelegt. Allerdings kann von einigen Datenbank-Engines eine undefinierte Genauigkeit (0) zurückgegeben werden. „Default Decimal Precision“ wird beim Schreiben dieser Zahlen mit undefinierter Genauigkeit verwendet.

dbf-default-scale

Wenn ein DECIMAL-/NUMBER-Wert als Avro-Logik-Typ „decimal“ geschrieben wird, ist eine bestimmte „scale“ (Skalierung) erforderlich, die die Anzahl der verfügbaren Dezimalstellen angibt. Im Allgemeinen wird die Skalierung durch die Datentypdefinition der Spalte oder die Standardeinstellung der Datenbank-Engine festgelegt. Wenn jedoch eine undefinierte Genauigkeit (0) zurückgegeben wird, kann die Skalierung bei einigen Datenbank-Engines ebenfalls ungewiss sein. „Default Decimal Scale“ wird beim Schreiben dieser undefinierten Zahlen verwendet. Wenn ein Wert mehr Dezimalstellen hat als in der angegebenen Skalierung, wird der Wert gerundet, z. B. wird 1,53 bei einer Skalierung von 0 zu 2 und bei einer Skalierung von 1 zu 1,5.

Beziehungen

Name

Beschreibung

failure

Wenn sowohl das „original“- als auch die „enrichment“-FlowFiles beim Prozessor ankommen, aber ein Fehler beim Zusammenfügen der Datensätze aufgetreten ist, werden beide FlowFiles an diese Beziehung weitergeleitet.

joined

Das Ergebnis-FlowFile mit Datensätzen, die sowohl aus dem Original- als auch aus dem angereicherten FlowFiles zusammengefügt wurden, wird an diese Beziehung weitergeleitet.

original

Beide eingehenden FlowFiles („original“ und „enrichment“) werden an diese Beziehung weitergeleitet. D. h., dies ist die „Original“-Version dieser beiden FlowFiles.

timeout

Wenn eines der eingehenden FlowFiles (d. h. das „ursprüngliche“ FlowFile oder das „enrichment“-FlowFile) bei diesem Prozessor eintrifft, das andere aber nicht innerhalb der konfigurierten Timeout-Periode eintrifft, wird das eingetroffene FlowFile an diese Beziehung weitergeleitet.

Schreibt Attribute

Name

Beschreibung

mime.type

Setzt das Attribut „mime.type“ auf den vom Record Writer angegebenen MIME-Typ

record.count

Die Anzahl der Datensätze im FlowFile

Siehe auch: