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 будет перенаправлен в это отношение.