UpdateDatabaseTable 2025.5.31.15¶
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 Features. |
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 Service an, der für das 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. ein explizites Schema muss nicht Writer definiert werden, sondern wird von der gleichen Logik bereitgestellt, mit der das Schema aus den Spaltentypen abgeleitet wird. Wenn die Option „Create Table Strategy“ (Tabellenerstellungsstrategie) auf „Create If Not Exists“ gesetzt ist, muss das Ausgabeformat des Record Writer mit dem Format des Record Reader übereinstimmen, damit die Daten an der Stelle der erstellten Tabelle gespeichert werden können. Beachten Sie, dass diese Eigenschaft nur verwendet wird, wenn „Update Field Names“ auf „true“ gesetzt ist und die Feldnamen nicht alle exakt mit den Spaltennamen übereinstimmen. Wenn für keine Feldnamen eine Aktualisierung erforderlich ist (oder „Feldnamen aktualisieren“ auf „false“ gesetzt ist), wird der Record Writer nicht verwendet und stattdessen wird das Eingabe FlowFile ohne Änderung als 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 der eingehenden Datensätze hinsichtlich Groß- und Kleinschreibung nicht mit den Spaltennamen der Tabelle übereinstimmen. Diese Eigenschaft sollte z. B. auf „true“ gesetzt werden, wenn das Ausgabe-FlowFile z. B. 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 so aktualisiert, dass sie dem von der Datenbank zurückgegebenen Spaltennamen entsprechen. |
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. |