Search code examples
apache-kafkaksqldb

does ksqldb support the create or replace for a stream?


I got to this by reading some stackoverflow post about how to redefine a stream if in time it changes. I was looking and end up in this PR: https://github.com/confluentinc/ksql/pull/5611

It seems in theory that it should but if I just look at the documentation I could not find it https://docs.ksqldb.io/en/latest/developer-guide/create-a-stream/

Now I'm trying it in my ksqldb and I'm getting an error:

ksql> CREATE OR REPLACE STREAM obj_pos_proto (id INT, obj_type_id INT) WITH (KAFKA_TOPIC='obj_pos', VALUE_FORMAT='PROTOBUF');
line 1:8: no viable alternative at input 'CREATE OR'

is the only way to have this working to drop and then create again?


Solution

  • It does not currently support it. The github merge that you saw is the design document (KLIP) - the actual functionality has yet to be added. There is a lot of work underway in this area though, so stay tuned!