如何使用Apache Nifi将CSV转换为JSON?

时间:2018-11-21 17:07:53

标签: apache-nifi

如何使用Apache Nifi将CSV转换为JSON?
我有一个CSV文件,我需要隐秘到json。如何绘制正常流程图。请告诉我属性和图形细节。 我的理解是4块必须到那里。 1.GenerateFLow 2.ConverttoAvro 3.Converttojson 4.保存文件。我是Nifi的新手,我已经安装了nifi,无法进行配置

"model","speed","mileage"
"audi",4,2
"benz",4,10
"bmw",7,4
"jaguar",7,22

我的杰森

[
  {
    "model": "audi",
    "speed": 4,
    "mileage": 2
  },
  {
    "model": "benz",
    "speed": 4,
    "mileage": 10
  },
  {
    "model": "bmw",
    "speed": 7,
    "mileage": 4
  },
  {
    "model": "jaguar",
    "speed": 7,
    "mileage": 22
  }
]

我经历了Convert a CSV file to JSON using Apache NiFi

2 个答案:

答案 0 :(得分:2)

您所描述的方法是 old (needs to follow if you are using prior to NiFi-1.2 version)

NiFi-1.2 开始介绍record oriented processors

  • 针对您的情况,使用 ConvertRecord 处理器并配置/启用 Record Reader(CSVReader)/ Writer(JsonSetWriter)控制器服务。

  • 然后NiFi ConvertRecord 处理器读取传入的CSV数据并以JSON格式写入输出流文件。

请参阅this链接,逐步介绍如何使用ConvertRecord处理器convertCsvtoJson

Starting from NiFi-1.2 Version 流量:

1.GenerateFlowFile 
2.ConvertRecord
3.SaveFile (Using PutFile/PutHDFS)

Prior to NiFi-1.2 Version 流量:

1.GenerateFlowFile
2.InferAvroSchema
3.ConvertCSVToAvro
4.ConvertAvroToJSON

答案 1 :(得分:0)

您可以创建将CSV转换为JSON的python脚本。然后添加一个“ ExecuteScript”处理器以在您的流程中运行此脚本。 Python脚本应该能够读取流,将CVS转换为JSON,然后将JSON返回到流中。 如果您不喜欢Python,也可以使用其他编程语言。