如何使用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
}
]
答案 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,也可以使用其他编程语言。