#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
}
]
Я думаю, это потому, что я установил «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
помощью и.