[英]KSQL joining Kafka stream to KTable
我正在嘗試在表和 stream 之間執行連接,但由於某種原因,它不起作用。
ksql> SELECT GROUP_TABLE.SOCIETY_ID, GROUP_TABLE.ID FROM GROUP_TABLE;
1 | 2
^CQuery terminated
ksql> SELECT DEVICE_STREAM.GROUP_ID FROM DEVICE_STREAM
2
^CQuery terminated
ksql> SELECT GROUP_TABLE.SOCIETY_ID FROM DEVICE_STREAM LEFT JOIN GROUP_TABLE ON DEVICE_STREAM.GROUP_ID = GROUP_TABLE.ID;
null
我期待 1 而不是 null 值。 GROUP_TABLE 是從通過 Postgres JDBC 連接器同步到 Kafka 的主題創建的。
上述行為適用於現有數據。 如果我碰巧在 Postgres 中輸入了新數據,join 語句會返回正確的值
它很可能是數據上的時間戳。 流表連接更像是傳統 SQL 連接的查找/擴充。 ksqlDB 盡量按時間順序處理數據。 如果DEVICE_STREAM
上的時間戳在GROUP_TABLE
行之前,則 ksqlDB 不會加入數據,因為表中尚不存在該行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.