Skip to main content

ValidateRecord

Описание

Проверяет записи входного FlowFile на соответствие заданной схеме. Все записи, соответствующие схеме, направляются в отношение "valid", а записи, не соответствующие схеме, направляются в отношение "invalid". Таким образом, один входной FlowFile может быть разделен на два отдельных FlowFile, если некоторые записи соответствуют схеме, а другие нет. Любой FlowFile, направленный в отношение "invalid", будет порождать событие Provenance с заполненным полем Details, объясняющим, почему записи были недействительными. Для получения более подробного объяснения причин недействительности записей можно включить ведение журнала на уровне DEBUG для логгера "org.apache.nifi.processors.standard.ValidateRecord".

Теги

record, schema, validate

Свойства

НазваниеОписание
Record ReaderУказывает службу контроллера для использования при чтении входящих данных
Record WriterУказывает службу контроллера, используемую для записи данных. Независимо от конфигурации доступа к схеме службы контроллера, для записи корректных результатов используется схема, которая применяется для проверки данных.
Record Writer for Invalid RecordsЕсли указано, эта служба контроллера будет использоваться для записи некорректных данных. Если не указано иное, будет использоваться средство записи, указанное в свойстве «Средство записи записей», со схемой, используемой для чтения входных записей. Это полезно, например, когда настроенное средство записи записей не может записывать данные, которые не соответствуют его схеме (как в случае с Avro), или когда желательно сохранять недействительные записи в исходном формате, преобразуя действительные записи в другой формат.
Schema Access StrategyУказывает, как получить схему, которая должна использоваться для проверки записей
Schema RegistryУказывает службу контроллера, используемую для реестра схем. Это необходимо только в том случае, если для стратегии доступа к схеме установлено значение «Использовать свойство «Имя схемы»».
Schema NameУказывает имя схемы для поиска в свойстве реестра схем Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Schema TextТекст схемы в формате Avro Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Allow Extra FieldsЕсли в поступающих данных есть поля, которых нет в схеме, это свойство определяет, является ли запись допустимой. Если значение равно true, запись остается допустимой. Если значение равно false, запись будет недопустимой из-за дополнительных полей.
Strict Type CheckingЕсли в поступающих данных есть запись, в которой поле имеет неправильный тип, это свойство определяет, как обрабатывать запись. Если значение равно true, запись будет считаться недопустимой. Если значение равно false, запись будет считаться действительной, а поле будет преобразовано в правильный тип (если это возможно, в соответствии с преобразованием типов, поддерживаемым средством записи записей). Это свойство управляет проверкой данных в соответствии со схемой проверки.
Force Types From Reader's SchemaЕсли этот параметр включен, процессор преобразует каждое поле в тип, указанный в схеме Reader. Если значение поля не может быть преобразовано в указанный тип, поле будет пропущено (не будет считываться из входных данных) и не появится в выходных данных. Если этот параметр не включен, все поля появятся в выходных данных, но их типы могут отличаться от указанных в схеме. Для получения дополнительной информации см. страницу «Дополнительные сведения» в справке процессора. Это свойство управляет тем, как данные считываются указанным считывателем записей.
Validation Details Attribute NameЕсли указано, то при возникновении ошибки проверки это имя атрибута будет использоваться для сохранения сведений. Количество символов будет ограничено свойством «Максимальная длина сведений о проверке». Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Maximum Validation Details LengthУказывает максимальное количество символов, которое может содержать значение сведений о проверке. Все символы, превышающие максимальное количество, будут усечены. Это свойство используется только в том случае, если задано «Имя атрибута сведений о проверке». Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)

Взаимосвязи

  • valid: Записи, которые соответствуют схеме, будут перенаправлены в это отношение
  • invalid: Записи, которые не соответствуют схеме, будут перенаправлены в это отношение
  • failure: Если по какой-либо причине записи не могут быть прочитаны, проверены или записаны, исходный файл FlowFile будет перенаправлен в это отношение.