如何实现KSQLDB初始化脚本?

时间:2020-09-03 15:25:12

标签: ksqldb

我正在将KSQLDB部署在docker容器中,并且在数据库启动时需要创建一些表(如果它们不存在)。有没有办法做到这一点?有例子吗?

1 个答案:

答案 0 :(得分:0)

从0.11版开始,您将需要具有一些可以查询服务器其余端点的内容,以确定存在哪些表,然后提交SQL以创建任何丢失的表。这显然有点笨拙。

我相信即将发布的0.12版本附带CREATE OR REPLACE支持创建流和表。使用此功能,您需要的是一个在docker映像中包含一些curl命令的脚本,该脚本等待服务器可用,然后使用CREATE OR REPLACE在带有表定义的SQL脚本中触发。

0.12发行版还为流,表,连接器和类型提供IF NOT EXIST语法支持。因此,您可以这样做:

CREATE STREAM IF NOT EXISTS FOO (ID INT) WITH (..);

要传递给服务器的内容的详细信息可以在Rest API docs中找到。

或者您应该能够使用CLI编写命令发送脚本。