ApacheKafka创建的表和流不显示为主题

rmbxnbpk  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(454)

我可以在ksql中成功地创建和查看表和流,但是它们没有显示为主题,因此我可以在javakafka使用者上使用它们。
发生的简要情况:

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
---------------------------------------------------------------------------------------------------------

好吧,我需要从javakafka使用者的rtshtable中使用数据,但是由于使用者无法连接到名为rtshtable的主题,所以它无法工作。
我在文档中看到,ktable被视为一个主题,可以像其他任何主题一样正常使用。那么,我还缺什么?
提前谢谢。

jdgnovmf

jdgnovmf1#

的主题 RTSHTABLErtsh . 那正是你想要的 SHOW TABLES 告诉你:

ksql> SHOW TABLES;

 Table Name | Kafka Topic | Format | Windowed
----------------------------------------------
 RTSHTABLE  | rtsh        | JSON   | false
----------------------------------------------

表和流只是主题之上的语义模型。在引用的sql代码中,您只是在“注册”现有主题上的表。
如果你 CREATE STREAM foo AS SELECT … 或者 CREATE TABLE foo AS SELECT … 然后它也将创建一个基础主题。

相关问题