UpdateDatabaseTable 2025.10.2.19¶
Bundle¶
org.apache.nifi | nifi-standard-nar
Beschreibung¶
Dieser Prozessor verwendet eine JDBC-Verbindung und eingehende Datensätze, um alle Änderungen in der Datenbanktabelle zu erzeugen, die zur Unterstützung der eingehenden Datensätze erforderlich sind. Es erwartet ein „flaches“ Datensatzlayout, d. h. keines der Datensatzfelder der obersten Ebene hat verschachtelte Felder, die selbst zu Spalten werden sollen.
Eingabeanforderung¶
REQUIRED
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
|---|---|
Column Name Translation Pattern |
Der Spaltenname wird mit diesem regulären Ausdruck normalisiert. |
Column Name Translation Strategy |
Die Strategie, die zur Normalisierung der Tabellenspaltennamen verwendet wird. Der Spaltenname wird automatisch in Großbuchstaben konvertiert, damit der Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung funktioniert – unabhängig von der Strategie. |
Database Dialect Service |
Database Dialect Service zur Generierung von Anweisungen, die auf einen bestimmten Dienst oder Anbieter zugeschnitten sind. |
db-type |
Datenbanktyp zum Generieren von Anweisungen, die für einen bestimmten Dienst oder Anbieter spezifisch sind. Der generische Typ unterstützt die meisten Fälle, aber die Auswahl eines bestimmten Typs ermöglicht eine optimale Verarbeitung oder zusätzliche Funktionen. |
record-reader |
Der Dienst zum Lesen eingehender FlowFiles. Der Reader wird nur zur Ermittlung des Schemas der Datensätze verwendet, die eigentlichen Datensätze werden nicht verarbeitet. |
updatedatabasetable-catalog-name |
Der Name des Katalogs, den die Anweisung aktualisieren soll. Dies gilt möglicherweise nicht für die Datenbank, die Sie aktualisieren. In diesem Fall lassen Sie das Feld leer. Beachten Sie, dass der Katalogname genau mit dem Katalognamen der Datenbank übereinstimmen muss, wenn die Eigenschaft gesetzt ist und die Datenbank Groß- und Kleinschreibung beachtet. |
updatedatabasetable-create-table |
Gibt an, wie die Zieltabelle verarbeitet werden soll, wenn sie nicht existiert (z B. erstellen, Fehler). |
updatedatabasetable-dbcp-service |
Der Controller Service, der verwendet wird, um die Verbindung(en) zur Datenbank herzustellen |
updatedatabasetable-primary-keys |
Eine durch Kommas getrennte Liste von Datensatzfeldnamen, die eine Zeile in der Datenbank eindeutig identifiziert. Diese Eigenschaft wird nur verwendet, wenn die angegebene Tabelle erstellt werden muss. In diesem Fall werden die Primärschlüsselfelder verwendet, um die Primärschlüssel der neu erstellten Tabelle anzugeben. IMPORTANT: Primärschlüsselfelder müssen exakt mit den Feldnamen des Datensatzes übereinstimmen, es sei denn, „Quote Column Identifiers“ ist falsch und die Datenbank erlaubt die Unterscheidung von Groß- und Kleinschreibung bei Spaltennamen. In der Praxis ist es am besten, wenn Sie Primärschlüsselfelder angeben, die genau mit den Namen der Datensatzfelder übereinstimmen. Diese werden dann die Spaltennamen in der erstellten Tabelle. |
updatedatabasetable-query-timeout |
Legt die Anzahl der Sekunden fest, die der Treiber auf die Ausführung einer Abfrage wartet. Ein Wert von 0 bedeutet keine Zeitüberschreitung. NOTE: Werte ungleich Null werden vom Treiber möglicherweise nicht unterstützt. |
updatedatabasetable-quoted-column-identifiers |
Wenn Sie diese Option aktivieren, werden alle Spaltennamen in Anführungszeichen gesetzt, sodass Sie reservierte Wörter als Spaltennamen in Ihren Tabellen verwenden können und/oder die Feldnamen der Datensätze genau mit den Spaltennamen übereinstimmen müssen. |
updatedatabasetable-quoted-table-identifiers |
Wenn diese Option aktiviert ist, wird der Tabellenname in Anführungszeichen gesetzt, um die Verwendung von Sonderzeichen im Tabellennamen zu unterstützen und/oder um sicherzustellen, dass der Wert der Eigenschaft „Tabellenname“ exakt mit dem Zieltabellennamen übereinstimmt. |
updatedatabasetable-record-writer |
Gibt den Controller-Dienst an, der zum Schreiben von Ergebnissen in ein FlowFile verwendet werden soll. Der Record Writer sollte „Inherit Schema“ verwenden, um die Verhaltensweise des abgeleiteten Schemas zu emulieren, d. h. es muss kein explizites Schema im Writer nicht definiert werden und wird von derselben Logik bereitgestellt, die zur Ableitung des Schemas aus den Spaltentypen verwendet wird. Wenn „Create Table Strategy“ auf „Create If Not Exists“ (Erstellen, wenn nicht vorhanden) eingestellt ist, muss das Ausgabeformat des Record Writer mit dem Format des Record Reader übereinstimmen, damit die Daten am erstellten Tabellenspeicherort platziert werden können. Beachten Sie, dass diese Eigenschaft nur verwendet wird, wenn „Update Field Names“ auf „true“ gesetzt ist und die Feldnamen nicht alle genau mit den Spaltennamen übereinstimmen. Wenn für Feldnamen keine Aktualisierung erforderlich ist (oder „Update Field Names“ den Wert „false“ hat), wird nicht der „Record Writer“-Code verwendet, sondern das Eingabe-FlowFile wird ohne Änderung zum Erfolg oder Fehler weitergeleitet. |
updatedatabasetable-schema-name |
Der Name des Datenbankschemas, zu dem die Tabelle gehört. Dies gilt möglicherweise nicht für die Datenbank, die Sie aktualisieren. In diesem Fall lassen Sie das Feld leer. Beachten Sie, dass der Schemaname genau mit dem Schemanamen der Datenbank übereinstimmen muss, wenn die Eigenschaft gesetzt ist und die Datenbank Groß- und Kleinschreibung beachtet. |
updatedatabasetable-table-name |
Der Name der zu aktualisierenden Datenbanktabelle. Wenn die Tabelle nicht existiert, wird sie entweder erstellt oder es wird ein Fehler ausgegeben, je nach dem Wert der Eigenschaft Create Table. |
updatedatabasetable-translate-field-names |
Bei „true“, versucht der Prozessor, die Feldnamen in die entsprechenden Spaltennamen der angegebenen Tabelle zu übersetzen, um festzustellen, ob der Feldname als Spalte in der Zieltabelle existiert. NOTE: Wenn die Zieltabelle nicht existiert und erstellt werden soll, wird diese Eigenschaft ignoriert und die Feldnamen werden unverändert verwendet. Bei „false“ müssen die Feldnamen genau mit den Spaltennamen übereinstimmen. Andernfalls wird die Spalte nicht gefunden, und es wird eine Fehlermeldung ausgegeben, dass die Spalte bereits existiert. |
updatedatabasetable-update-field-names |
Diese Eigenschaft gibt an, ob das Ausgabeschema so aktualisiert werden soll, dass die Feldnamen auf die exakten Spaltennamen der angegebenen Tabelle gesetzt werden. Dies sollte verwendet werden, wenn die Feldnamen des eingehenden Datensatzes möglicherweise hinsichtlich Groß- und Kleinbuchstaben nicht mit den Spaltennamen der Tabelle übereinstimmen. Zum Beispiel sollte diese Eigenschaft auf „true“ gesetzt werden, wenn die Ausgabe von FlowFile für Oracle bestimmt ist, das erwartet, dass die Feldnamen genau mit den Spaltennamen übereinstimmen. NOTE: Der Wert der Eigenschaft „Translate Field Names“ wird bei der Aktualisierung von Feldnamen ignoriert. Stattdessen werden sie aktualisiert, um dem Spaltennamen zu entsprechen, wie er von der Datenbank zurückgegeben wird. |
Beziehungen¶
Name |
Beschreibung |
|---|---|
failure |
Ein FlowFile mit Datensätzen, die an diese Beziehung weitergeleitet werden, wenn der Datensatz nicht an die Datenbank übertragen werden konnte. |
success |
Ein FlowFile mit Datensätzen, die an diese Beziehung weitergeleitet werden, nachdem der Datensatz erfolgreich an die Datenbank übertragen wurde. |
Schreibt Attribute¶
Name |
Beschreibung |
|---|---|
output.table |
Dieses Attribut wird in die FlowFiles geschrieben, die an die Beziehungen „success“ und „failure“ weitergeleitet werden, und enthält den Namen der Zieltabelle. |
output.path |
Dieses Attribut wird in die FlowFiles geschrieben, die an die Beziehungen „success“ und „failure“ weitergeleitet werden, und enthält den Pfad im Dateisystem zur Tabelle (oder den Speicherort der Partition, wenn die Tabelle partitioniert ist). |
mime.type |
Setzt das Attribut mime.type auf den vom Record Writer angegebenen MIME-Typ, nur wenn ein Record Writer angegeben ist und Update Field Names „true“ ist. |
record.count |
Legt die Anzahl der Datensätze im FlowFile fest, nur wenn ein Record Writer angegeben ist und Feldnamen aktualisieren „true“ ist. |