Отсутствующие поля после преобразования CSV в JSON с помощью ConvertRecord

#apache-nifi

Вопрос:

У меня CSV выглядит так:

 Date,Media Source,Campaign,Impressions,Clicks,CTR,Installs
2021-08-07,googleadwords_int,Android_UAC,N/A,N/A,N/A,258
2021-08-07,yandexdirect_int,Android_MK,N/A,301,N/A,6
 

Я пытаюсь преобразовать этот CSV в JSON, но большинство полей отсутствуют.
Фактический результат:

 [
  {
    "Date": "2021-08-07",
    "Media Source": "googleadwords_int",
    "Campaign": "Android_UAC"
  },
  {
    "Date": "2021-08-07",
    "Media Source": "yandexdirect_int",
    "Campaign": "Android_MK"
  }
]
 

Ожидаемый:

 [
  {
    "Date": "2021-08-07",
    "Media Source": "googleadwords_int",
    "Campaign": "Android_UAC",
    "Impressions": null,
    "Clicks": null,
    "CTR": null,
    "Installs": 258
  },
  {
    "Date": "2021-08-07",
    "Media Source": "yandexdirect_int",
    "Campaign": "Android_MK",
    "Impressions": null,
    "Clicks": 301,
    "CTR": null,
    "Installs": 6
  }
]
 

Конфигурация CSVReader:
csv

Я думаю, это потому, что я установил «N/A» как нулевую строку. Но я хочу написать «N/A» в полях как null. Как это исправить?

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

1. Исходя из этой конфигурации в конвертере, вы можете этого не достичь, и я думаю, что вам следует заменить значение столбца N/A на null перед передачей в этот конвертер.

2. Я подумал, что опция «Нулевая строка» должна заменить «N/A» на null в конвертере.

3. nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/. … Посмотрите описание нулевой строки в этой ссылке, значение, настроенное для нулевой строки, будет считаться нулевым при чтении записи, но не заменит ее.

4. Возможно, если вы используете jsonrecordsetwriter в конвертере, попробуйте один раз изменить это свойство на нулевые значения: nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/…

5. Исправил это с UpdateRecord RecordPath помощью и.