【问题标题】:NiFi Issue: UpdateRecord issue when record has double quotesNiFi 问题:记录包含双引号时的 UpdateRecord 问题
【发布时间】:2020-10-25 08:15:45
【问题描述】:

我遇到了一个关于 UpdateRecord 的奇怪问题。我正在尝试对以下记录执行操作-

id,name,basic                                                                                        
1,"   John Bro   oke  ",34000                                                                            
2, "   John Bro   oke  " ,43678

在 CSVReader 和 CSVWriter 中,Quote Char 设置为 Single Quote(')。在UpdateRecord中,我们只做一个操作-

/name -> ${field.value:replace('John', "Mark")}

UpdateRecord 的输出如下-

1,'   Mark Bro   oke  ',3400                                                                           
2,' "   Mark Bro   oke  " ',43678

如果我们正确地看到输出,我们会知道在第一条记录中,名称列的双引号被删除了。但是在输入中,两条记录中都有双引号。

输入记录的唯一区别是,在第一条记录中,名称以双引号开头和结尾,但在第二条记录中,名称以一个空格开头和结尾。

不确定空间有何不同。

任何帮助都会很棒!

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    CSV 在做事方式方面是一种非常开放的格式,但如果我不得不猜测这里发生了什么,它不会将第二行的引号解释为“引用的值”,因为周围有空格他们。 CSV 的常规约定是将整个字段用引号括起来,因此分隔符和引号分隔字符之间的任何内容都可能使读者无法将其识别为带引号的字段值。

    【讨论】:

    • 但是如果我使用单引号,为什么这个问题不存在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    相关资源
    最近更新 更多