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 |
Database Type for generating statements specific to a particular service or vendor. The Generic Type supports most cases but selecting a specific type enables optimal processing or additional 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 |
Specifies the Controller Service to use for writing results to a FlowFile. The Record Writer should use Inherit Schema to emulate the inferred schema behavior, i.e. an explicit schema need not be defined in the writer, and will be supplied by the same logic used to infer the schema from the column types. If Create Table Strategy is set ‚Create If Not Exists‘, the Record Writer ‚s output format must match the Record Reader’s format in order for the data to be placed in the created table location. Note that this property is only used if ‚Update Field Names‘ is set to true and the field names do not all match the column names exactly. If no update is needed for any field names (or ‚Update Field Names‘ is false), the Record Writer is not used and instead the input FlowFile is routed to success or failure without modification. |
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 |
This property indicates whether to update the output schema such that the field names are set to the exact column names from the specified table. This should be used if the incoming record field names may not match the table ‚s column names in terms of upper- and lower-case. For example, this property should be set to true if the output FlowFile is destined for Oracle e.g., which expects the field names to match the column names exactly. NOTE: The value of the’Translate Field Names‘ property is ignored when updating field names; instead they are updated to match the column name as returned by the database. |
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. |