Как определить, когда KSQL полностью загрузил мои данные из темы Kafka в мою таблицу?
ЦЕЛЬ: Возьмите 2 темы Kafka, объедините их и запишите результаты в новуюТема Kafka.
ПРИМЕР:
Я использую API отдыха Ksql для выполнения следующих команд.
CREATE TABLE MyTable (A1 VARCHAR, A2 VARCHAR) WITH (kafka_topic='topicA', key='A1', value_format='json');
CREATE STREAM MyStream (B1 varchar, B2 varchar) WITH (kafka_topic='topicB', value_format='json');
CREATE STREAM MyDestination WITH (Kafka_topic='topicC', PARTITIONS = 1, value_format='json') AS SELECT a.A1 as A1, a.A2 as A2, b.B1 as B1, b.B2 as B2 FROM MyStream b left join MyTable a on a.A1 = b.B1;
ПРОБЛЕМА: topicC имеет только данные из topicB, и все объединенные значения являются нулевыми.
Несмотря на то, что я получаю статус SUCCESS от команды создания таблицы, похоже, что данные не полностью загружены в таблицу.Следовательно, результат 3-й команды имеет только данные из потока и не включает данные из таблицы.Если я искусственно задержу выполнение команды соединения, то в полученном разделе будут правильно данные из обоих разделов.Как я могу определить, когда моя таблица загружена, и безопасно ли выполнить команду соединения?