Kafka Rest API KSQL Query ждет вечно и зависает
Я использую Kafka REST API, выданный из curl POST в ksql. Если я не использую LIMIT20, он зависает. Кроме того, если я использую его для запроса к таблице снова, он зависает. Я запускаю это из скрипта Python. Здесь я запрашиваю промежуточную строку bcoz. Я не могу получить последние результаты из потока, так как он непрерывный и постоянный.
data = {"ksql":"SELECT MAX(ROWTIME),TIMESTAMPTOSTRING(ROWTIME, 'yyyy-MM-dd HH:mm:ss'),MYFIRMWAREVERSION,MYBASEMACID,BOOTTS,IMEI,PRODDEVICESERIALNUM,RESETREASON FROM NOV_STREAM WHERE TIMESTAMPTOSTRING(ROWTIME, 'yyyy-MM-dd HH:mm:ss') >= '2018-12-11 00:29:30'AND TIMESTAMPTOSTRING(ROWTIME, 'yyyy-MM-dd HH:mm:ss') <= '2018-12-11 23:29:30' GROUP BY ROWTIME,MYFIRMWAREVERSION,MYBASEMACID,BOOTTS,IMEI,PRODDEVICESERIALNUM,RESETREASON LIMIT 20;","streamsProperties":{"ksql.streams.auto.offset.reset": "earliest","format": "json"}}
1 ответ
Это ожидается. Запрос KSQL, если вы не используете LIMIT
является непрерывным потоковым запросом. Таким образом, это - по замыслу - не завершится само по себе. Это касается как потоков, так и таблиц.
Для таблиц запрос продолжает выполняться и покажет вам все последующие обновления таблицы в выводе запроса.