使用文件内容更新字符串值

问题描述 投票:0回答:1

传入的 csv 文件具有以下架构:

 latitude;longtitude
 90.232;24.244

我需要通过使用新字段“json”更新传入架构来生成流文件。

预期的结果架构是:

latitude;longtitude;json
90.232;24.244;"{\"type\":\"Point\",\"coordinates\":[90.232,24.244]}"

所以我需要提取纬度和经度值并将它们放入json(表示为字符串值)。

为了这个目的,我使用了 UpdateRecord 和 Properties:

UpdateRecord

/json 值为:

  {"type":"Point","coordinates":[${\latitude},${\longtitude}]}

我也尝试过:

 {"type":"Point","coordinates":[${latitude},${longtitude}]}

但是输出是:

 latitude;longtitude;json
 90.232;24.244;"{\"type\":\"Point\",\"coordinates\":[,]}"

所以没有任何东西被放入坐标“占位符”。

有人可以帮助我吗?

apache-nifi
1个回答
0
投票

使用

QueryRecord

  • CSVReader(分隔符:
    ;
  • CSVRecordSetWriter(分隔符:
    ;
  • add-field(动态属性):
SELECT latitude, longtitude, 
'{"type":"Point","coordinates":[' || latitude || ',' || longtitude || ']}' AS json 
FROM FLOWFILE

输入

latitude;longtitude
90.232;24.244

输出

latitude;longtitude;json
90.232;24.244;"{\"type\":\"Point\",\"coordinates\":[90.232,24.244]}"
© www.soinside.com 2019 - 2024. All rights reserved.