Given a GenericRecord, what is the recommended way to retrieve a typed value, as opposed to an Object? Are we expected to cast the values, and if so what is the mapping from Avr
GenericRecords in Avro won't give you a type safe way since it is all figured out at runtime. You can add wrappers that help, but at the end of the day your code needs to implicitly know what it is working with.
If you want a type safe way, you need to use serialize into a Java SpecificRecord class which can be generated with the Avro maven plugin.