Повторное использование прекрасно работает в следующих сценариях 1. Базовая топи c для потоковой передачи, затем повторной передачи - хорошо 2. Таблица для потоковой передачи, затем повторной передачи - хорошо
Но при попытке с таблицей - соединение таблицы приводит к новому table, создайте поток для этой результирующей таблицы, затем повторно измените поток - кажется, что он работает нормально в течение нескольких минут (запрос на выборку получает ожидаемый результат), а затем данные исчезают из вновь созданного потока.
-- Table on Table join - works as expected
CREATE TABLE JOINRESULT_T AS
SELECT d.DEVICE_ID, d.LOCATION_ALIAS,d.UPDATED_BY,
d.UPDATED_TIMESTAMP AS UPDATED_TIMESTAMP, d.__DELETED AS __DELETED
FROM TABLE1 d LEFT JOIN TABLE2 l ON d.LOCATION_ALIAS=l.ALIAS;
-- Stream from table - works as expected
CREATE STREAM FROMJOIN_S WITH(KAFKA_TOPIC='JOINRESULT_T', VALUE_FORMAT='AVRO');
-- Rekey the above stream - Data disappears after few minutes
CREATE STREAM REKEY_S AS SELECT * FROM FROMJOIN_S PARTITION BY DEVICE_ID;
Команда расширенного описания в потоке отображает количество сообщений, которые в данный момент хранятся в потоке. Но команда выбора не дает никаких результатов. Команда print topi c на связанной topi c также ничего не печатает.
введите описание изображения здесь
K sql версия: 5.3. 1, также пробовал последнюю версию Разделы = 1, реплики = 1.
пытался выяснить, содержит ли пространство хранения topi c на сервере kafka какие-либо данные, и обнаружил, что файл журнала и файлы моментальных снимков пусты .
что может привести к исчезновению данных после записи в топи c?