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

时间:2016-06-20 17:53:26

标签: apache-nifi

我正在尝试从本地文件系统读取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 个答案:

答案 0 :(得分:7)

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

  • 读取CSV并转换为JSON的自定义Java处理器
  • 使用ExecuteScript处理器在Groovy / Jython脚本中执行类似的操作
  • 使用SplitText将原始CSV拆分为单行,然后将当前方法与ExtractText和ReplaceText一起使用,然后将MergeContent合并为一起
  • 使用ConvertCsvToAvro然后使用ConvertAvroToJson

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

答案 1 :(得分:2)

这个问题有点旧,但现在NiFi 1.3及更新版本中的ConvertRecord处理器应该可以直接为您处理这种转换,并且它避免了通过创建单个JSON来分割数据包含所有值的数组,如果需要的话。