Спецификация JOLT для ввода фрейма данных (NiFi JoltTransformJson)

#apache-nifi #jolt

#апач-нифи #толчок

Вопрос:

Не могли бы вы, пожалуйста, помочь мне написать спецификацию JOLT для следующего?

Ввод JSON:

 {  "a": "1",  "b": "2",  "c": "3",  "d": "4" }  

Мне нужно получить вывод:

 {  "columns": ["a","b","c","d"],  "data": [[1,2,3,4]] }  

Ответ №1:

Вы можете использовать приведенное ниже преобразование сдвига :

 [  {  "operation": "shift",  "spec": {  "*": {  "$": "columns",  "@": "data[0]"  }  }  } ]  

Если элементы массива данных должны строго иметь тип integer, то также требуется преобразование modify-overwrite-beta, например

 [  {  "operation": "modify-overwrite-beta",  "spec": {  "*": "=toInteger"  }  },  {  "operation": "shift",  "spec": {  "*": {  "$": "columns",  "@": "data[0]"  }  }  } ]  

введите описание изображения здесь

Комментарии:

1. да, большое спасибо

2. добро пожаловать @Дмитрий , приятного обучения!