首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nifi ValideCSV模式示例

Nifi ValideCSV模式示例
EN

Stack Overflow用户
提问于 2020-10-15 08:55:34
回答 1查看 1.1K关注 0票数 0

我试图在Nifi中使用ValidateCSV处理器,但我不知道如何定义模式。我的输出(流文件)如下:

代码语言:javascript
复制
> PassCountId,CameraId,EventDate,Counter
> 
> 32340,4,2020-10-14 15:26:20.170,4
> 
> 32341,3,2020-10-14 15:26:51.747,4
> 
> 32342,3,2020-10-14 15:26:57.907,6

我在架构下尝试过,但它没有工作。

代码语言:javascript
复制
{
  "type": "record",
  "name": "NifiRecord",
  "fields" : [
    {"name": "PassCountId", "type": "bigint"},
    {"name": "CameraId", "type": "int"},
    {"name": "EventDate", "type": "datetime"},
    {"name": "Counter", "type": "int"}
  ]
}

定义架构的正确方法是什么?

我已经查过文件了。不幸的是这没什么帮助。https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.6.0/org.apache.nifi.processors.standard.ValidateCsv/

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-16 12:36:36

@Tyr这里是模式的一个示例

代码语言:javascript
复制
   "type" : "record",

   "namespace" : "nifi",

   "name" : "nifi",

   "fields" : [

      { "name" : "c1" , "type" :  ["null", "string"] },

      { "name" : "c2" , "type" : ["null", "string"] },

      { "name" : "c3" , "type" : ["null", "string"] }

   ]

}

根据文档,您可以为模式验证函数提供如下内容:

代码语言:javascript
复制
 : [ParseBigDecimal, ParseBool, ParseChar, ParseDate, ParseDouble, ParseInt, ParseLong, Optional, DMinMax, Equals, ForbidSubStr, LMinMax, NotNull, Null, RequireHashCode, RequireSubStr, Strlen, StrMinMax, StrNotNullOrEmpty, StrRegEx, Unique, UniqueHashCode, IsIncludedIn] 

我的建议是从字符串模式开始,然后为您的第一列尝试使用ParseBigDecimal。工作在小的可测试的迭代,直到你有一个完全构建的模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64368073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档