首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在先删除主题的情况下删除KSQL中的表或流

如何在先删除主题的情况下删除KSQL中的表或流
EN

Stack Overflow用户
提问于 2018-12-12 01:16:02
回答 2查看 4.5K关注 0票数 0

使用KSQL (Confluent: Version: 5.0.1),当链接的主题存在并且注册时(Registered=true),我能够正常地删除表/流(使用DROP [TABLE|STREAM]) <NAME>

然而,如果主题首先被删除(Registered=false),那么相关的流或表就不能被删除,因为KSQL指出“没有注册名为Foo的主题”。

问题是流/表仍然显示在列表中,并且不能使用相同的名称添加新的流/表。

有没有办法在删除该主题后将其删除?

EN

回答 2

Stack Overflow用户

发布于 2019-04-08 07:19:24

我想我找到了答案,或者至少找到了正确的方向。

您需要在流中重新注册主题。在进行了一些修改之后,我设法将我的主题重新附加到流,即删除流。

代码语言:javascript
复制
REGISTER TOPIC <ksql_topic_name> WITH (KAFKA_TOPIC='<kafka_topic_name>', VALUE_FORMAT='<format>');

然后,

代码语言:javascript
复制
DROP STREAM <stream_name>;

我不知道这是否在所有情况下都有效,但它让我回到了我想要的地方。如果其他人能对此进行迭代,并找到一个更健壮的解决方案,我很乐意听到。

票数 1
EN

Stack Overflow用户

发布于 2020-05-10 23:42:22

您必须首先终止所有正在运行的查询。

代码语言:javascript
复制
SHOW QUERIES;  --> that will show you the active queries (COPY QUERY ID)

然后:

代码语言:javascript
复制
TERMINATE [QUERY ID];

然后:丢弃表或流;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53729164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档