Hi there,

I'm not sure if this is possible, because it doesn't seem to be documented
anywhere, so here we go...

I've got a Kafka topic with Avro encoded records that have been produced
with a Confluent schema registry Kafka client. Note that these Avro records
are slightly different from vanilla Avro messages, as the Confluent
producer adds (prepends?) some metadata that encodes the schema version
that's used for encoding the record. So you can't just decode it with a
regular Avro client, or you'll get:
> Flink SQL> select * from SomeTopic limit 10;
> [ERROR] Could not execute SQL statement. Reason:
> org.apache.avro.AvroRuntimeException: Malformed data. Length is negative:
-1

Now, I'd like to read this topic in a sql-client.sh session, but can't seem
to work out how to do so. There is a
ConfluentRegistryAvroDeserializationSchema
<https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html#the-deserializationschema>,
for which I can only find a Flink jar
<https://repo1.maven.org/maven2/org/apache/flink/flink-avro-confluent-registry/1.10.0/>,
not a Flink sql jar. There's also the
`flink-sql-connector-kafka_2.12-1.10.0.jar` and
`flink-avro-1.10.0-sql-jar.jar` jars, but they suffer the `Malformed data`
issue I mentioned before.

Is there any way to read from a Confluent schema registry Avro encoded
Kafka topic in a Flink SQL session? (Try saying that three times fast ;))

Best,
Ruurtjan

Reply via email to