CSVReader¶
説明¶
CSV 形式データを解析し、 CSV ファイルの各行を個別の記録として返します。このリーダーは、「ヘッダー行」が存在する場合、 CSV の最初の行に基づいてスキーマを推測したり、値を解釈するための明示的なスキーマを提供したりすることができます。詳細なドキュメントについては、Controller Serviceの使用を参照してください。
プロパティ¶
以下のリストでは、必要なプロパティをアスタリスク (*) で表示しています。その他のプロパティはオプションと見なされます。この表は、任意のデフォルト値と、そのプロパティが NiFi 式言語に対応しているかどうかも示します。
表示名  | 
API 名前  | 
デフォルト値  | 
許容値  | 
説明  | 
|---|---|---|---|---|
CSV 形式 *  | 
CSV 形式  | 
custom  | 
  | 
CSV データの「形式」を指定するか、カスタム形式を使用するかどうかを指定します。  | 
コメントマーカー  | 
コメントマーカー  | 
コメントの開始を示す文字。このコメントで始まる行は無視されます。  | 
||
日付形式  | 
日付形式  | 
Dateフィールドの読み書きに使用する形式を指定します。指定しない場合、Dateフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJava java.time.format.DateTimeFormatter 形式と一致する必要があります(例えば、 MM/dd/yyyyは、2桁の月、2桁の日、4桁の年が続き、2017/01/01のようにすべて'/'文字で区切られます)。  | 
||
エスケープ文字 *  | 
エスケープ文字  | 
CSV パーサーが特定の意味を持つ文字をエスケープするための文字。もしこのプロパティが式言語によって指定されたとしても、ランタイムにその式が無効なエスケープ文字として評価された場合、そのプロパティはスキップされ、デフォルトのエスケープ文字が使用されます。空文字列をセットすると、エスケープ文字を使用しないことを意味します。  | 
||
Null文字列  | 
Null文字列  | 
CSV に値として存在する場合、リテラル値を使用する代わりにNull・フィールドとみなす文字列を指定します。  | 
||
引用文字 *  | 
引用文字  | 
"  | 
エスケープ文字が不要になるように、値を引用符で囲む文字。このプロパティが式言語によって指定されたにもかかわらず、ランタイム時にその式が無効な引用文字として評価された場合、そのプロパティはスキップされ、デフォルトの引用文字が使用されます。  | 
|
記録セパレーター *  | 
記録セパレーター  | 
n  | 
CSV Recordの区切りに使用する文字を指定します。  | 
|
最初の行をヘッダーとして扱う *  | 
ヘッダー行をスキップ  | 
false  | 
  | 
CSV の最初の行をヘッダーとみなすか、記録とみなすかを指定します。スキーマアクセス戦略が列はヘッダーで定義されなければならないと示している場合、ヘッダーは常に存在しなければならず、Recordとして処理されないため、このプロパティは無視されます。もし'true'なら、 CSV データの最初の行は記録として処理されず、'false'なら、最初の行は記録として解釈されます。  | 
時刻形式  | 
時刻形式  | 
Timeフィールドの読み書き時に使用する形式を指定します。指定しない場合、Timeフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJavaのjava.time.format.DateTimeFormatter 形式と一致しなければなりません(例えば、 HH:mm:ssは、24時間形式の2桁の時、2桁の分、2桁の秒の順に続き、18:04:15のようにすべて':'文字で区切られます)。  | 
||
タイムスタンプ形式  | 
タイムスタンプ形式  | 
Timestamp フィールドの読み書き時に使用する形式を指定します。指定しない場合、タイムスタンプフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJavaのjava.time.format.DateTimeFormatter 形式と一致しなければなりません(例えば、MM/dd/yyyy HH: mm:ssは、2桁の月、2桁の日、4桁の年が続き、すべて'/'文字で区切られ、その後に24時間形式の2桁の時間、2桁の分、2桁の秒が続き、2017/01/01 18:04:15のようにすべて':'文字で区切られます)。  | 
||
トリムフィールド *  | 
トリムフィールド  | 
true  | 
  | 
フィールドの先頭と末尾から空白を削除するかどうか  | 
トリム ダブルクォート *  | 
トリム ダブルクォート  | 
true  | 
  | 
開始と終了の二重引用符を削除するかどうか。例えば: 文字列 '"test"' をトリムすると 'test' に、トリムしないと '"test"' に解析されます。'false' にセットすると、 RFC-4180 に完全に準拠することを意味します。デフォルト値はtrue、トリム付き。  | 
値セパレーター *  | 
値セパレーター  | 
,  | 
CSV 記録の値/フィールドの区切りに使用される文字。プロパティが式言語によって指定されたにもかかわらず、ランタイム時に式が無効な値セパレータに評価された場合、そのプロパティはスキップされ、デフォルト値セパレータが使用されます。  | 
|
CSV パーサー *  | 
csv-reader-csv-parser  | 
commons-csv  | 
  | 
CSV 記録の読み込みに使用するパーサーを指定します。NOTE: 異なるパーサーは異なる機能のサブセットをサポートし、また異なるレベルのパフォーマンスを示すことがあります。  | 
ヘッダー名の重複許可  | 
csvutils-allow-duplicate-header-names  | 
true  | 
  | 
ヘッダー名の重複を許可するかどうか。ヘッダー名は大文字と小文字を区別します。例えば、"name "と "Name "は別々のフィールドとして扱われます。重複するヘッダー名のハンドリングは CSV パーサー固有です(アプリケーションの場合):* Apache Commons CSV - ヘッダーが重複すると、"unknown_field_index_X" (X は CSV 列のインデックス番号 * です) の新しいフィールドが作成され、列データが右に "シフト" します。Jackson CSV - ヘッダーが重複すると、フィールド値は一番右の重複した CSV 列* の値となり、重複は解除されます。 FastCSV - ヘッダーが重複すると、フィールド値は一番左の重複した CSV 列の値となり、重複は解除されます。  | 
文字セット *  | 
csvutils-character-set  | 
UTF-8  | 
CSV ファイルのエンコード/デコードに使用される文字エンコード。  | 
|
CSV ヘッダー列名の無視  | 
ignore-csv-header  | 
false  | 
  | 
CSV の最初の行がヘッダーで、構成スキーマがヘッダー行で命名されたフィールドと一致しない場合、Reader がフィールドをどのように解釈するかを制御します。このプロパティが true の場合、各列にマッピングされるフィールド名は構成スキーマによってのみ決定され、スキーマにないフィールドは無視されます。このプロパティがfalseの場合、 CSV Headerにあるフィールド名がフィールド名として使用されます。  | 
スキーマアクセス戦略 *  | 
schema-access-strategy  | 
infer-schema  | 
  | 
データの解釈に使用するスキーマの取得方法を指定します。  | 
スキーマ支店  | 
schema-branch  | 
スキーマ・レジストリのプロパティでスキーマを検索する際に使用するブランチの名前を指定します。選択したスキーマ・レジストリが分岐をサポートしていない場合、この値は無視されます。  | 
||
スキーマ名  | 
schema-name  | 
${schema.name}  | 
スキーマ・レジストリのプロパティで検索するスキーマの名前を指定します。  | 
|
スキーマ リファレンス リーダー *  | 
schema-reference-reader  | 
FlowFile 属性またはコンテンツを読み取ってスキーマ参照識別子を決定する責任を負うサービス実装。  | 
||
スキーマレジストリ  | 
schema-registry  | 
スキーマレジストリで使用するController Serviceを指定します。  | 
||
スキーマテキスト  | 
schema-text  | 
${avro.schema}  | 
Avro形式のスキーマのテキスト  | 
|
スキーマバージョン  | 
schema-version  | 
スキーマ・レジストリで検索するスキーマのバージョンを指定します。指定しない場合は、スキーマの最新バージョンが取得されます。  | 
状態管理¶
このコンポーネントは状態を保存しません。
制限あり¶
このコンポーネントには制限はありません。
システムリソースに関する考察¶
このコンポーネントは、システムリソースを考慮したものではありません。