如何在 Apache NiFi 中使用“验证 CSV”处理器验证可选值时验证/忽略可选值?

问题描述 投票:0回答:1

我是 Apache Nifi 社区的新手,我一度陷入困境 - 请帮助我解决以下问题:

在验证 CSV 处理器中,我给出以下架构(schema_used)来验证 CSV 输入。但是,处理器显示错误(err_screenshot)。

验证 CSV - enter image description here

Schema_Used - StrNotNullOrEmpty()、ParseDate("MM/dd/yyyy")、StrNotNullOrEmpty()、StrNotNullOrEmpty()、可选()、StrNotNullOrEmpty()、StrNotNullOrEmpty()、StrNotNullOrEmpty()、StrNotNullOrEmpty()、可选()、可选()、StrNotNullOrEmpty()

上面的架构显示以下错误 - err_截图 - enter image description here

注意: 如果我删除“Optional()”,架构工作完全正常。

问题 - 请告诉我如何在 Apache Nifi 中使用“验证 CSV”处理器并验证 CSV 的必填/可选字段。另外,如果可以验证 CSV,建议/分享任何脚本(groovy/python)。

apache groovy apache-nifi jython
1个回答
0
投票

检查文档:https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.25.0/org.apache.nifi.processors.standard.ValidateCsv /additionalDetails.html

Schema 属性:Null、ParseDate("dd/MM/yyyy")、可选(ParseDouble()) 含义:输入 CSV 有三列,第一列可以为 null 并且没有指定,第二列必须是按预期格式化的日期,第三列必须为 double 或 null(无值)。

您不能使用空单元处理器

Optional()

我没有看到输入的 CSV 数据,所以我只能建议可以解决您的问题:

StrNotNullOrEmpty(), ParseDate("MM/dd/yyyy"), StrNotNullOrEmpty(), StrNotNullOrEmpty(), Optional(StrNotNullOrEmpty()), StrNotNullOrEmpty(), StrNotNullOrEmpty(), StrNotNullOrEmpty(), StrNotNullOrEmpty(), Optional(StrNotNullOrEmpty()), Optional(StrNotNullOrEmpty()), StrNotNullOrEmpty()

© www.soinside.com 2019 - 2024. All rights reserved.