【发布时间】:2020-05-21 23:35:57
【问题描述】:
我尝试重复创建 Ktable 并手动选择 https://docs.ksqldb.io/en/latest/developer-guide/create-a-table/
从主题kafkacat -b broker:9092 -t videos中选择:
{"VideoId":"304b3306-c3d6-47c8-a936-c0e2d4d375ee","UserId":"7c8266d7-fea7-49c1-8fc2-aff47a9c19e5"}
从主题创建 Ktable
create table videos_table (VideoId varchar, UserId varchar) WITH (KAFKA_TOPIC = 'videos', KEY = 'VideoId', VALUE_FORMAT='json');
信息:show tables;
Table Name | Kafka Topic | Format | Windowed
-----------------------------------------------
VIDEOS_TABLE | videos | JSON | false
-----------------------------------------------
从表格中选择:SELECT * FROM videos_table EMIT CHANGES;
屏幕上什么都没有。然后我将新的味精插入主题,我在 kafkacat 中看到它,但是这个选择不打印任何内容。在手册上他们有结果:
screen from manual, they have result
我做错了什么?
【问题讨论】:
-
您使用的是什么版本的 ksqlDB? ksqlDB服务器日志有错误吗?
-
cp-ksqldb-server:5.5.0。我使用 docker,日志命令是什么?或者可以 cat as linux /var/logs/ksqldb/ ?
-
docker logs -f <container name> -
我在您分享的链接中没有看到任何
VIDEOS_TABLE。也许该示例已在网站上更新。 -
从上面的输出中不清楚 kafka 记录的键是什么。您可以将
-K开关添加到kafkacat 并更新输出吗?如果CREATE TABLE要在 ksqlDB 中工作,设置 Kafka 记录的键很重要。
标签: apache-kafka ksqldb confluent-platform