我目前正在使用Nifi来读取tealium事件流并加载到HDFS中。需要帮助过滤数据时,源错过发送数据的属性。
{“帐户”:“NewTV”,“twitter:description”:“发现您最喜欢的NewTV显示和主机何时显示。",“"og:url":"www.newtv.com/show/program-guide"}},:post_time”:“2019-10-09 11:27:46",”用户代理“:”Mozilla/5.0“(Windows 10.0;Win64;( x64) AppleWebKit/537.36 (event_id,类似壁虎) Chrome/77.0.3865.90 Safari/537.36,"event_id":"12345"}
以上信息示例。当源错过从下面的示例数据集为event_id属性发送数据时,我目前只能对数据进行过滤。
当前Nifi流,消费Kafka ->计算Json路径-> Jolttransform Json ->计算Json路径> RouteOnAttribute ->合并内容->计算Json路径->更新属性-> PutHDFS ->MoveHDFS
需要帮助如何使用RouteOnAttribute将数据拆分,以便将丢失的event_id属性或attribute_value区分为两个不同的流。流与属性值或属性值以及缺失值一起错误并加载到不同的输出路径中。
发布于 2019-10-16 02:05:07
在EvaluateJsonPath处理器中,添加新属性以从流文件中提取event_id值。
如果value文件没有event_id,则nifi向属性添加空值。
EvaluateJsonPath Configs:

然后利用RouteOnAttribute处理器对属性值进行检查,并相应地对流文件进行路由。
RouteOnAttribute Configs:
非空值
${event_id:isEmpty():not()}零值
${event_id:isEmpty()}

然后使用空值和非空值关系进行进一步处理..!
https://stackoverflow.com/questions/58402063
复制相似问题