当前位置:  开发笔记 > 编程语言 > 正文

NiFi - ConvertCSVtoAVRO - 如何捕获失败的记录?

如何解决《NiFi-ConvertCSVtoAVRO-如何捕获失败的记录?》经验,为你挑选了1个好方法。

将CSV转换为AVRO时,我想将所有拒绝输出到文件中(假设为error.csv).

拒绝通常是由错误的数据类型引起的 - 例如,当"长"字段中出现"字符串"值时.

我试图使用不兼容的输出,但不保存无法转换的行(在下面的示例中为2),它保存整个CSV文件.是否有可能仅以某种方式过滤掉那些无法转换的记录?(NiFi是否会为这些记录添加一些标记等?)两个处理器:RouteOnAttribute和RouteOnContent路由整个文件.流的"不兼容"段是否以某种方式将单个记录标记为"错误"属性,将文件拆分成行后可用?我在任何文档中都找不到这个.

Nifi流量



1> James..:

如果可以的话,我建议在ConvertCSVToAvro上游使用SplitText处理器,这样你一次只能转换一条记录.对于errors发送到不兼容输出的任何流文件,您还将获得属性所指的清晰上下文.

将整个失败文件发送到不兼容的关系似乎是一个有目的的选择.我认为如果CSV文件格式不正确可能是必要的,特别是对于整齐地包含在一行(或正确转义)的记录.如果您的数据违反了这一假设,SplitText可能会通过创建一组碎片失败的行来使事情变得更糟.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有