创建的表和流未显示为主题
Created Tables and Streams not showing as Topics
我可以在 KSQL 中成功创建和查看表和流,但它们没有显示为主题,因此我可以在 Java Kafka 消费者上使用它们。
事件简介:
ksql> CREATE TABLE RTSHTABLE (primaryKey BIGINT, secondaryKey BIGINT) WITH (KAFKA_TOPIC = 'rtsh', VALUE_FORMAT='JSON', KEY='primaryKey');
Message
---------------
Table created
---------------
ksql> SHOW TABLES;
Table Name | Kafka Topic | Format | Windowed
----------------------------------------------
RTSHTABLE | rtsh | JSON | false
----------------------------------------------
ksql> SHOW STREAMS;
Stream Name | Kafka Topic | Format
------------------------------------------------------------
RTSHSTREAM | rtsh | JSON
KSQL_PROCESSING_LOG | default_ksql_processing_log | JSON
------------------------------------------------------------
ksql> SELECT * FROM RTSHTABLE LIMIT 5;
1555406522968 | m�l | 1830743660 | 1968383301
1555406522969 | 0��N | 819984462 | 1390795850
1555406522969 | m�� | 1830743753 | 1968383301
1555406522969 | m� | 1830743691 | 1968383301
1555406523501 | o)� | 1865005575 | 797470537
Limit Reached
Query terminated
ksql> SHOW TOPICS;
Kafka Topic | Registered | Partitions | Partition Replicas | Consumers | ConsumerGroups
---------------------------------------------------------------------------------------------------------
default_ksql_processing_log | true | 1 | 1 | 0 | 0
rtsh | true | 1 | 1 | 0 | 0
---------------------------------------------------------------------------------------------------------
好吧,我需要从 Java Kafka Consumer 使用来自 RTSHTABLE 的数据,但它不起作用,因为消费者无法连接到名为 RTSHTABLE 的主题。
我在文档中读到 KTable 被视为一个主题,可以像任何其他主题一样正常使用。那么,我在这里缺少什么?
提前致谢。
RTSHTABLE
的主题是 rtsh
。这正是 SHOW TABLES
告诉你的:
ksql> SHOW TABLES;
Table Name | Kafka Topic | Format | Windowed
----------------------------------------------
RTSHTABLE | rtsh | JSON | false
----------------------------------------------
表和流只是主题之上的语义模型。在您引用的 SQL 代码中,您只是 'registering' 现有主题的 table。
如果您 CREATE STREAM foo AS SELECT …
或 CREATE TABLE foo AS SELECT …
那么它也会创建一个基础主题。
我可以在 KSQL 中成功创建和查看表和流,但它们没有显示为主题,因此我可以在 Java Kafka 消费者上使用它们。
事件简介:
ksql> CREATE TABLE RTSHTABLE (primaryKey BIGINT, secondaryKey BIGINT) WITH (KAFKA_TOPIC = 'rtsh', VALUE_FORMAT='JSON', KEY='primaryKey');
Message
---------------
Table created
---------------
ksql> SHOW TABLES;
Table Name | Kafka Topic | Format | Windowed
----------------------------------------------
RTSHTABLE | rtsh | JSON | false
----------------------------------------------
ksql> SHOW STREAMS;
Stream Name | Kafka Topic | Format
------------------------------------------------------------
RTSHSTREAM | rtsh | JSON
KSQL_PROCESSING_LOG | default_ksql_processing_log | JSON
------------------------------------------------------------
ksql> SELECT * FROM RTSHTABLE LIMIT 5;
1555406522968 | m�l | 1830743660 | 1968383301
1555406522969 | 0��N | 819984462 | 1390795850
1555406522969 | m�� | 1830743753 | 1968383301
1555406522969 | m� | 1830743691 | 1968383301
1555406523501 | o)� | 1865005575 | 797470537
Limit Reached
Query terminated
ksql> SHOW TOPICS;
Kafka Topic | Registered | Partitions | Partition Replicas | Consumers | ConsumerGroups
---------------------------------------------------------------------------------------------------------
default_ksql_processing_log | true | 1 | 1 | 0 | 0
rtsh | true | 1 | 1 | 0 | 0
---------------------------------------------------------------------------------------------------------
好吧,我需要从 Java Kafka Consumer 使用来自 RTSHTABLE 的数据,但它不起作用,因为消费者无法连接到名为 RTSHTABLE 的主题。
我在文档中读到 KTable 被视为一个主题,可以像任何其他主题一样正常使用。那么,我在这里缺少什么?
提前致谢。
RTSHTABLE
的主题是 rtsh
。这正是 SHOW TABLES
告诉你的:
ksql> SHOW TABLES;
Table Name | Kafka Topic | Format | Windowed
----------------------------------------------
RTSHTABLE | rtsh | JSON | false
----------------------------------------------
表和流只是主题之上的语义模型。在您引用的 SQL 代码中,您只是 'registering' 现有主题的 table。
如果您 CREATE STREAM foo AS SELECT …
或 CREATE TABLE foo AS SELECT …
那么它也会创建一个基础主题。