Hi Martin and Scott, Thanks for the question, and that's a good one. I would suggest:
{ "type": "fixed", "size": 16, "logicalType": "uuid" } This is in line with the other logicalTypes. For example with date: { "type": "int", "logicalType": "date" } If you don't support the date, you can still read the int itself (days since Epoch). I've added a schema example to the Google doc and created a PR <https://github.com/apache/avro/pull/2646/> to clarify the current situation. I am curious about what you guys think of the proposed JSON-type representation. Kind regards, Fokko Op vr 22 dec 2023 om 14:25 schreef Scott Belden <scottabel...@gmail.com>: > I think you'd have to go with something like one of the first two options > (something in the schema) rather than some flag in a library. The problem > with an flag in a library is if someone has an avro file they want to > deserialize, they might not know if it was encoded with uuids as bytes or > strings and they'd be left with guessing one and trying again with the > second if the first failed which would not be a pleasant experience. > > -Scott > > On Fri, Dec 22, 2023 at 5:00 AM Martin Grigorov <mgrigo...@apache.org> > wrote: > > > Hi, > > > > How would the application tell Avro what storage type to use - String or > > bytes ? > > - new logical type ? e.g. "logicalType": "uuid-bytes" > > - extra attribute ? e.g. { ..., "logicalType": "uuid", "storage-type": > > "bytes" } > > - global switch that tells the library to always use "string" or "bytes" > > for all UUIDs ? > > - ... > > > > Martin > > > > On Fri, Dec 22, 2023 at 10:49 AM Fokko Driesprong <fo...@apache.org> > > wrote: > > > > > Hey everyone, > > > > > > For Iceberg we're using UUIDs in Avro and we're storing them as binary, > > > rather than a string. This has several advantages such as more compact > > > storage, more efficient reading, and more efficient skipping. For more > > > details, please check out the doc that I've created > > > < > > > > > > https://docs.google.com/document/d/16_oSWrEM7AFUCTe0uuraAEHxywezLfoEz5ahzwvhGUk/edit#heading=h.43xuauwfk7ow > > > > > > > (and feel free to comment). Also created AVRO-3918 > > > <https://issues.apache.org/jira/browse/AVRO-3918> on Jira to track > this. > > > > > > Looking forward to hearing from y'all! > > > > > > Kind regards and happy holidays, > > > > > > Fokko Driesprong > > > > > >