CSVReader¶
Beschreibung¶
Parst CSV-formatierte Daten und gibt jede Zeile in der CSV-Datei als separaten Datensatz zurück. Dieser Reader ermöglicht die Ableitung eines Schemas anhand der ersten Zeile der CSV, wenn eine „header line“ vorhanden ist, oder die Bereitstellung eines expliziten Schemas zur Interpretation der Werte. Weitere Informationen finden Sie unter „Verwendung des Controller Service“.
Eigenschaften¶
In der folgenden Liste sind die erforderlichen Eigenschaften mit einem Sternchen (*) gekennzeichnet. Andere Eigenschaften werden als optional betrachtet. Die Tabelle zeigt auch alle Standardwerte und ob eine Eigenschaft die NiFi Expression Language unterstützt.
Display Name (Anzeigename) |
API-Name |
Standardwert |
Zugelassene Werte |
Beschreibung |
---|---|---|---|---|
CSV Format * |
CSV Format |
custom |
|
Legt fest, in welchem „Format“ die CSV-Daten vorliegen, oder gibt an, ob eine benutzerdefinierte Formatierung verwendet werden soll. |
Comment Marker |
Comment Marker |
Das Zeichen, das verwendet wird, um den Beginn eines Kommentars zu kennzeichnen. Jede Zeile, die mit diesem Kommentar beginnt, wird ignoriert. |
||
Date Format |
Date Format |
Gibt das Format an, das beim Lesen/Schreiben von Datumsfeldern verwendet werden soll. Wenn nicht anders angegeben, werden Datumsfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ entsprechen (z. B. MM/dd/yyyy für einen zweistelligen Monat, gefolgt von einem zweistelligen Tag, gefolgt von einem vierstelligen Jahr, alle durch „/“ Zeichen getrennt, wie in 01/01/2017). |
||
Escape Character * |
Escape Character |
Das Zeichen, das verwendet wird, um Zeichen zu umgehen, die sonst eine bestimmte Bedeutung für den CSV-Parser hätten. Wenn die Eigenschaft über Expression Language angegeben wurde, der Ausdruck jedoch zur Laufzeit in ein ungültiges Escape-Zeichen ausgewertet wird, wird dieser übersprungen und das Standard-Escape-Zeichen verwendet. Die Einstellung auf eine leere Zeichenkette bedeutet, dass kein Escape-Zeichen verwendet werden soll. |
||
Null String |
Null String |
Gibt eine Zeichenfolge an, die, wenn sie als Wert in CSV vorhanden ist, als Nullfeld betrachtet werden soll, anstatt den Literalwert zu verwenden. |
||
Quote Character * |
Quote Character |
„ |
Das Zeichen, mit dem Werte in Anführungszeichen gesetzt werden, sodass keine Escape-Zeichen verwendet werden müssen. Wenn die Eigenschaft über Expression Language angegeben wurde, der Ausdruck jedoch zur Laufzeit zu einem ungültigen Anführungszeichen ausgewertet wird, wird dieses übersprungen und das Standard-Anführungszeichen verwendet. |
|
Record Separator * |
Record Separator |
n |
Gibt die Zeichen an, die zur Trennung von CSV-Datensätzen verwendet werden sollen. |
|
Treat First Line as Header * |
Skip Header Line |
false |
|
Legt fest, ob die erste Zeile der CSV als Header oder als Datensatz betrachtet werden soll oder nicht. Wenn die Schema-Zugriffsstrategie angibt, dass die Spalten im Header definiert werden müssen, dann wird diese Eigenschaft ignoriert, da der Header immer vorhanden sein muss und nicht als Datensatz verarbeitet wird. Andernfalls, wenn „true“, wird die erste Zeile der CSV-Daten nicht als Datensatz verarbeitet, und wenn „false“, wird die erste Zeile als Datensatz interpretiert. |
Time Format |
Time Format |
Gibt das Format an, das beim Lesen/Schreiben von Zeitfeldern verwendet werden soll. Wenn nicht anders angegeben, werden Zeitfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ entsprechen (z. B. HH: mm:ss für eine zweistellige Stunde im 24-Stunden-Format, gefolgt von einer zweistelligen Minute, gefolgt von einer zweistelligen Sekunde, alle getrennt durch „:“-Zeichen, wie in 18:04:15). |
||
Timestamp Format |
Timestamp Format |
Gibt das Format an, das beim Lesen/Schreiben von Zeitstempelfeldern verwendet werden soll. Wenn nicht anders angegeben wird, werden die Zeitstempelfelder als Anzahl der Millisekunden seit Epoche (Mitternacht, 1. Januar 1970 GMT) angenommen. Falls angegeben, muss der Wert dem Java-Format „java.time.format.DateTimeFormatter“ entsprechen (z. B. MM/dd/yyyy HH: mm:ss für einen zweistelligen Monat, gefolgt von einem zweistelligen Tag, gefolgt von einem vierstelligen Jahr, alle getrennt durch „/“-Zeichen; und dann gefolgt von einer zweistelligen Stunde im 24-Stunden-Format, gefolgt von einer zweistelligen Minute, gefolgt von einer zweistelligen Sekunde, alle getrennt durch „:“-Zeichen, wie in 01/01/2017 18:04:15). |
||
Trim Fields * |
Trim Fields |
true |
|
Ob Leerzeichen am Anfang und Ende von Feldern entfernt werden sollen oder nicht |
Trim double quote * |
Trim double quote |
true |
|
Ob beginnende und endende doppelte Anführungszeichen abgeschnitten werden sollen oder nicht. Beispiel: Mit aktiviertem „Trim String“ wird die Zeichenfolge ‚„test“‘ zu ‚test‘ geparst, ohne „Trim“ hingegen zu ‚„test“‘. Die Einstellung „false“ bedeutet vollständige Compliance mit RFC-4180. Der Standardwert ist „true“, mit aktiviertem „Trim“. |
Value Separator * |
Value Separator |
, |
Das Zeichen, das verwendet wird, um Werte/Felder in einem CSV-Datensatz zu trennen. Wenn die Eigenschaft über die Expression Language angegeben wurde, der Ausdruck jedoch zur Laufzeit als ein ungültiges Werttrennzeichen ausgewertet wird, wird dieser übersprungen und das Standard-Werttrennzeichen verwendet. |
|
CSV Parser * |
csv-reader-csv-parser |
commons-csv |
|
Gibt den zum Lesen von CSV-Datensätzen zu verwendenden Parser an. NOTE: Verschiedene Parser können unterschiedliche Teilmengen an Funktionalität unterstützen und unterschiedliche Leistungsniveaus aufweisen. |
Allow Duplicate Header Names |
csvutils-allow-duplicate-header-names |
true |
|
Ob doppelte Kopfzeilennamen erlaubt sind. Bei Headernamen wird zwischen Groß- und Kleinschreibung unterschieden, z. B. werden „name“ und „Name“ als getrennte Felder behandelt. Die Behandlung von doppelten Hedernamen ist spezifisch für den CSV-Parser (falls zutreffend):* Apache Commons CSV – doppelte Header führen zu einer „Verschiebung“ der Spaltendaten nach rechts, wobei neue Felder für „unknown_field_index_X“ erstellt werden. Dabei ist „X“ die Indexnummer der CSV-Spalte.* Jackson CSV – doppelte Header werden dedupliziert, wobei der Feldwert aus der ganz rechten doppelten CSV-Spalte genommen wird. * FastCSV – doppelte Header werden dedupliziert, wobei der Feldwert aus der ganz linken doppelten CSV-Spalte genommen wird. |
Character Set * |
csvutils-character-set |
UTF-8 |
Die Zeichencodierung, die zum Codieren/Decodieren der CSV-Datei verwendet wird |
|
Ignore CSV Header Column Names |
ignore-csv-header |
false |
|
Wenn die erste Zeile einer CSV ein Header ist und das konfigurierte Schema nicht mit den im Header genannten Feldern übereinstimmt, steuert dies, wie der Reader die Felder interpretiert. Wenn diese Eigenschaft „true“ ist, werden die Feldnamen, die den einzelnen Spalten zugeordnet sind, nur durch das konfigurierte Schema bestimmt und alle Felder, die nicht im Schema enthalten sind, werden ignoriert. Wenn diese Eigenschaft „false“ ist, werden die Feldnamen aus dem CSV-Header als Namen der Felder verwendet. |
Schema Access Strategy * |
schema-access-strategy |
infer-schema |
|
Gibt an, wie das Schema abgerufen wird, das zur Interpretation der Daten verwendet werden soll. |
Schema Branch |
schema-branch |
Gibt den Namen des Zweigs an, der beim Suchen des Schemas in der Eigenschaft „Schema Registry“ verwendet werden soll. Wenn die gewählte „Schema Registry“ keine Verzweigungen unterstützt, wird dieser Wert ignoriert. |
||
Schema Name |
schema-name |
${schema.name} |
Gibt den Namen des Schemas an, das in der Eigenschaft Schema Registry gesucht werden soll. |
|
Schema Reference Reader * |
schema-referenz-reader |
Dienstimplementierung, die für das Lesen von FlowFile-Attributen oder -Inhalten verantwortlich ist, um den Schema Reference Identifier zu ermitteln |
||
Schema Registry |
schema-registry |
Gibt den Controller Service an, der für die Schema Registry verwendet werden soll |
||
Schema Text |
schema-text |
${avro.schema} |
Der Text eines Avro-formatierten Schemas |
|
Schema Version |
schema-version |
Gibt die Version des Schemas an, die in der Schema Registry gesucht werden soll. Wenn nicht angegeben, wird die neueste Version des Schemas abgerufen. |
Statusmanagement¶
Diese Komponente speichert keinen Status.
Eingeschränkt¶
Diese Komponente ist nicht eingeschränkt.
Hinweise zu Systemressourcen¶
Diese Komponente enthält keine Angaben zu den Systemressourcen.