将字符串字段转换为Nifi记录中的JSON数组或Avro数组

时间:2019-03-11 21:21:03

标签: apache-nifi avro

我目前正在以csv格式获取一些数据,该数据具有一个字段,该字段是JSON数组的字符串编码,例如:

CED7B5D9-0378-4A37-B746-D6ED7BB35593,"[{\"a\":1},{\"a\":2}]"
D000C576-112C-45BE-BA0F-5DB0E8AF409E,"[{\"a\":3}]"

每个文件有几百万行,我只想使用基于记录的处理器。我想用以下avro模式解析它:

{
  "type": "record",
  "name": "test",
  "fields": [
    {"name": "id", "type": "string"},
    {
      "name": "json_array", 
      "type": {
        "type": "array",
        "items": {
          "type": "record",
          "name": "array_item",
          "fields": [
            {"name": "a", "type": "int"}
          ]
        }
      }
    }
  ]
}

但是尝试使用ConvertRecord解析此文件会产生错误Cannot convert [[{"a":1},{"a":2}]] of type class java.lang.String to Object Array...

我想我想使用UpdateRecord处理器将字符串解析为对象数组,但是我不确定要使用哪种表达语言功能或记录路径功能。有什么建议吗?

0 个答案:

没有答案