首页 文章

使用Apache NiFi将CSV文件转换为JSON

提问于
浏览
1

我正在尝试从本地文件系统读取csv并使用Apache Nifi将内容转换为JSON格式,并将JSON格式文件放在本地系统中 . 我已经成功转换了第一行csv文件而不是其他行 . 我错过了什么?

输入: 1,aaa,loc1 2,bbb,loc2 3,ccc,loc3

和我的nifi工作流程如下:http://www.filedropper.com/mycsvtojson

我的输出如下所示,这是所需的格式,但我希望所有行都能实现 .

{ "id" : "1", "name" : "aaa", "location" : "loc1" }

2 回答

  • 1

    有几种不同的方法可以做到......

    • 一个自定义Java处理器,它读入CSV并转换为JSON

    • 使用ExecuteScript处理器在Groovy / Jython脚本中执行类似操作

    • 使用SplitText将原始CSV拆分为单行,然后将当前方法与ExtractText和ReplaceText一起使用,然后将MergeContent合并为一起

    • 使用ConvertCsvToAvro然后使用ConvertAvroToJson

    虽然最后一个选项可以额外转换为Avro,但它可能是最简单的解决方案,几乎不需要任何工作 .

  • 7

    这个问题有点旧,但现在NiFi 1.3和更新版本中的ConvertRecord处理器应该能够直接为您处理这种转换,并且它避免了通过创建一个单独的JSON数组来分割数据如果可取的话, Value 观 .

相关问题