ArroyoSystems / arroyo

Distributed stream processing engine in Rust
https://arroyo.dev
Apache License 2.0
3.44k stars 188 forks source link

Support for avro union types #660

Open kvedes opened 2 weeks ago

kvedes commented 2 weeks ago

Hi

I'm trying to use Arroyo on a Kafka topic from Confluent. I can successfully set up the connection and get the Avro schema which is stored in the Schema Registry. However, when I try to create a pipeline my source shows as JSON instead of Avro. I suspect this is due to my Avro schema containing Union types. I cannot find any documentation related to union types, so I suppose it might not be supported. Will this be coming the with the Protobuf support? - Protobuf has similar semantics just called oneof. Otherwise I would like to request it.

P.S. I'm brand new to Arroyo

timonviola commented 2 weeks ago

Hey, did you check this part of the docs: https://doc.arroyo.dev/connectors/confluent#avro

Just to understand you are seeing the expected behavior (quoting the docs):

For Avro, there are some features that cannot be converted to SQL types:

Is this what you are referring to "source shows as JSON"?

kvedes commented 1 week ago

Hi @timonviola

Thanks, yes this is exactly what I'm seeing. Was hoping to see support for general union types, but doesn't sound like that would be on the roadmap.