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 |
スキーマ・レジストリで検索するスキーマのバージョンを指定します。指定しない場合は、スキーマの最新バージョンが取得されます。 |
状態管理¶
このコンポーネントは状態を保存しません。
制限あり¶
このコンポーネントには制限はありません。
システムリソースに関する考察¶
このコンポーネントは、システムリソースを考慮したものではありません。