Запрос материализованного представления с помощью group by и latest_by_offset возвращает один и тот же ключ дважды

Я перехожу по этой ссылке для запроса материализованного представления и ожидает, что group by вернет только одну строку для каждого ключа, но это не так (сенсор-1 появляется дважды в запросе ниже):

ksql> SELECT sensor,                                                                                                                                
>           LATEST_BY_OFFSET(area) AS area,                                                                                                         
>           LATEST_BY_OFFSET(reading) AS last                                                                                                       
>    FROM readings                                                                                                                                  
>    GROUP BY sensor                                                                                                                                
>    EMIT CHANGES;                                                                                                                                  
+------------------------------------------------+------------------------------------------------+------------------------------------------------+
|SENSOR                                          |AREA                                            |LAST                                            |
+------------------------------------------------+------------------------------------------------+------------------------------------------------+
|sensor-1                                        |wheel                                           |45                                              |
|sensor-2                                        |motor                                           |41                                              |
|sensor-1                                        |wheel                                           |92                                              |

и тот же результат с материализованным представлением:

CREATE TABLE latest_readings AS
    SELECT sensor,
           LATEST_BY_OFFSET(area) AS area,
           LATEST_BY_OFFSET(reading) AS last
    FROM readings
    GROUP BY sensor
    EMIT CHANGES;

Кажется, это отличается от ответа robin-moffatt, как в Можно ли получить последнее значение ключа сообщения из сообщений kafka

Я что-то пропустил?


person rmcv    schedule 21.12.2020    source источник


Ответы (1)


Насколько я понимаю, emit changes будет выталкивать обновления по мере их появления, поэтому, когда есть обновление набора для данного ключа, для этого ключа будет произведено изменение.

person Dave    schedule 29.12.2020