Skip to main content

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