Apache NiFi使用ConvertRecord转CSV为JSON字段缺失如何修复?
配置调整步骤
1 修改JSONRecordSetWriter配置
这是你出现字段缺失问题的核心原因:JSONRecordSetWriter默认开启了忽略null值的配置。
找到配置项 Suppress Null Values,将其值设置为 false 即可,开启该配置时所有值为null的字段都会被自动省略不输出,关闭后就会保留全量字段,null值也会正常输出。
2 可选:显式配置全量字段Schema(避免字段推断遗漏)
如果调整上面的配置后仍有问题,大概率是CSVReader自动推断Schema时,因为部分字段首行值为N/A被漏识别,可以手动指定固定Schema保证所有字段都被保留:
- 先将CSVReader的
Schema Access Strategy配置为Use 'Schema Text' Property - 将如下Avro Schema粘贴到
Schema Text配置项中即可:
{ "type": "record", "name": "CampaignData", "fields": [ {"name": "Date", "type": ["null", "string"]}, {"name": "Media Source", "type": ["null", "string"]}, {"name": "Campaign", "type": ["null", "string"]}, {"name": "Impressions", "type": ["null", "int"]}, {"name": "Clicks", "type": ["null", "int"]}, {"name": "CTR", "type": ["null", "double"]}, {"name": "Installs", "type": ["null", "int"]} ] }
- 确认CSVReader的
Null String配置已经设置为N/A、Treat First Line as Header为开启状态即可。
内容的提问来源于stack exchange,提问作者miroha
相关产品推荐
相关产品推荐

