tl; dr: используйте [\\"
label
\\"]
для ссылки на поле
Тестовые данные:
echo '{"id":1,"test":{"Successful Login":1}}' | kafkacat -b localhost:9092 -t test1
Объявите поток в KSQL ипроверьте сообщение:
ksql> create stream test1 (id bigint, test varchar) with (kafka_topic='test1', value_format='json');
Message
----------------
Stream created
----------------
ksql> select id, test from test1;
1 | {"Successful Login":1}
Не работает неэкранированная ссылка на столбец:
ksql> select extractjsonfield(test,'$.Successful Login') from test1;
null
Выход из столбца с использованием [\\"
(также обратите внимание, что также не используется точка-запись):
ksql> select extractjsonfield(test,'$[\\"Successful Login\\"]') from test1;
1
Это решение любезно предоставлено novikovantonio на этом выпуске