CSVReader
Описание
Анализирует данные в формате CSV, возвращая каждую строку в CSV-файле как отдельную запись. Этот ридер позволяет вывести схему на основе первой строки CSV, если присутствует строка заголовка, или предоставить явную схему для интерпретации значений. Дополнительную документацию см. в разделе использования службы контроллера.
Теги
csv, parse, record, row, reader, delimited, comma, separated, values
Свойства
| Название | Описание |
|---|---|
| Schema Access Strategy | Указывает, как получить схему, которая будет использоваться для интерпретации данных. |
| Schema Registry | Указывает службу контроллера, которую следует использовать для реестра схемThis Property is only considered if the [Schema Access Strategy] Property is set to one of the following values: [Schema Reference Reader], [Use 'Schema Name' Property] |
| Schema Name | Указывает имя схемы для поиска в свойстве реестра схем Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property". |
| Schema Version | Указывает версию схемы для поиска в реестре схем. Если не указано, будет получена последняя версия схемы. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property". |
| Schema Branch | Указывает имя ветки, которую нужно использовать при поиске схемы в реестре схем. Если выбранный реестр схем не поддерживает ветки, это значение будет проигнорировано. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property". |
| Schema Text | Текст схемы в формате Avro Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Text' Property". |
| Schema Reference Reader | Реализация сервиса, отвечающая за чтение атрибутов или содержимого FlowFile для определения идентификатора ссылки на схемуThis Property is only considered if the [Schema Access Strategy] Property has a value of "Schema Reference Reader". |
| CSV Parser | Указывает, какой синтаксический анализатор использовать для чтения CSV-записей. ПРИМЕЧАНИЕ: разные синтаксические анализаторы могут поддерживать разные наборы функций и демонстрировать разные уровни производительности. |
| Date Format | Указывает формат, который следует использовать при чтении/записи полей даты. Если не указано, поля даты будут считаться количеством миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, значение должно соответствовать простом у формату даты Java (например, MM/dd/yyyy для двухзначного месяца, за которым следует двухзначный день, за которым следует четырёхзначный год, разделённые символами «/», как в 01/01/2017). |
| Time Format | Указывает формат, используемый при чтении/записи полей времени. Если не указано, то поля Time будут содержать количество миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, то значение должно соответствовать формату Simple Date в Java (например, HH:mm:ss для двухзначного часа в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, разделенные символами ':', как в 18:04:15). |
| Timestamp Format | Указывает формат, используемый при чтении/записи полей Timestamp. Если не указано, поля Timestamp будут считаться количеством миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, значение должно соответствовать формату Java Simple Date (например, MM/dd/yyyy HH:mm:ss для двухзначного месяца, за которым следует двухзначный день, за которым следует четырехзначный год, разделенные символами «/»; затем следует двухзначный час в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, разделенные символами «:», как в 01/01/2017 18:04:15). |
| CSV Format | Specifies which "format" the CSV data is in, or specifies if custom formatting should be used. |
| Value Separator | Символ, используемый для разделения значений/полей в записи CSV. Если свойство было задано с помощью языка выражений, но во время выполнения выражение оценивается как недопустимый разделитель значений, то оно будет пропущено и будет использоваться разделитель значений по умолчанию. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Record Separator | Указывает символы, которые следует использовать для разделения записей CSV.This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Treat First Line as Header | Указывает, следует ли считать первую строку CSV заголовком или записью. Если стратегия доступа к схеме указывает, что столбцы должны быть определены в заголовке, то это свойство будет игнорироваться, так как заголовок всегда должен присутствовать и не будет обрабатываться как запись. В противном случае, если значение равно 'true', то первая строка данных CSV не будет обрабатываться как запись, а если 'false', то первая строка будет интерпретироваться как запись. |
| Ignore CSV Header Column Names | Если первая строка CSV-файла является заголовком, а заданная схема не соответствует полям, указанным в строке заголовка, то это свойство определяет, как Reader будет интерпретировать поля. Если это свойство имеет значение true, то имена полей, сопоставленные с каждым столбцом, определяются только заданной схемой, а поля, отсутствующие в схеме, будут игнорироваться. Если это свойство имеет значение false, то имена полей, указанные в заголовке CSV-файла, будут использоваться в качестве имен полей. |
| Quote Character | Символ, который используется для заключения значений в кавычки, чтобы не нужно было использовать экранирующие символы. Если свойство было задано с помощью языка выражений, но во время выполнения выражение оценивается как недопустимый символ кавычек, то он будет пропущен и будет использоваться символ кавычек по умолчанию. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Escape Character | Символ, который используется для экранирования символов, имеющих особое значение для синтаксического анализатора CSV. Если свойство было задано с помощью языка выражений, но во время выполнения выражение оценивается как недопустимый символ экранирования, то он будет пропущен и будет использован символ экранирования по умолчанию. Если установить для него пустую строку, то не следует использовать экранирующие символы. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Comment Marker | Символ, который используется для обозначения начала комментария. Любая строка, начинающаяся с этого комментария, будет проигнорирована. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Null String | Указывает строку, которая, если присутствует в CSV в качестве значения, должна считаться нулевым полем вместо использования буквального значения. This Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Trim Fields | Следует ли удалять пробелы в начале и конце полейThis Property is only considered if the [CSV Format] Property has a value of "Custom Format". |
| Character Set | Кодировка символов, используемая для кодирования/декодирования файла CSV |
| Allow Duplicate Header Names | Whether duplicate header names are allowed. Header names are case-sensitive, for example "name" and "Name" are treated as separate fields. |
| Handling of duplicate header names is CSV Parser specific (where applicable): |
- Apache Commons CSV - duplicate headers will result in column data "shifting" right with new fields created for "unknown_field_index_X" where "X" is the CSV column index number
- Jackson CSV - duplicate headers will be de-duplicated with the field value being that of the right-most duplicate CSV column
- FastCSV - duplicate headers will be de-duplicated with the field value being that of the left-most duplicate CSV columnThis Property is only considered if the [CSV Format] Property has a value of "Custom Format". | | Trim double quote | Whether or not to trim starting and ending double quotes. For example: with trim string '"test"' would be parsed to 'test', without trim would be parsed to '"test"'.If set to 'false' it means full compliance with RFC-4180. Default value is true, with trim.This Property is only considered if the [CSV Format] Property has a value of "RFC 4180". |