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". |