confluentinc / ksql

The database purpose-built for stream processing applications.
https://ksqldb.io
Other
127 stars 1.04k forks source link

Specify KSQL Stream Subject names explicitly #4081

Open YairHalberstadt opened 4 years ago

YairHalberstadt commented 4 years ago

Originally asked on https://stackoverflow.com/questions/59194102/specify-ksql-stream-subject-names-explicitly

I have two KSQL topics my-topic-1 and my-topic-2, with messages serialised via AVRO. For historical reasons, the my-topic-1 schema is not in the recommended topic-value format, but is instead my-custom-subject-name.

I want to move records from one topic to the other via KSQL.

First up, let's create a stream:

CREATE STREAM my-stream-1
    WITH (KAFKA_TOPIC='my-topic-1', VALUE_FORMAT='AVRO');

oops:

Avro schema for message values on topic my-topic-1 does not exist in the Schema Registry.
Subject: my-topic-1-value

Possible causes include:
- The topic itself does not exist
        -> Use SHOW TOPICS; to check
- Messages on the topic are not Avro serialized
        -> Use PRINT 'my-topic-1' FROM BEGINNING; to verify
- Messages on the topic have not been serialized using the Confluent Schema Registry Avro serializer
        -> See https://docs.confluent.io/current/schema-registry/docs/serializer-formatter.html
- The schema is registered on a different instance of the Schema Registry
        -> Use the REST API to list available subjects
        https://docs.confluent.io/current/schema-registry/docs/api.html#get--subjects

It's looking for the subject my-topic-1-value

Does anyone have any idea if this is possible? VALUE_AVRO_SCHEMA_FULL_NAME mentioned here doesn't do what I want it to.

agavra commented 4 years ago

Thanks for reporting this @YairHalberstadt! Linking this issue with #3634 - these tickets are related, both need to be worked on.

waytoalpit commented 8 months ago

Is this feature enabled yet?