Avro serialization doesn't support Float.
Avro serialization doesn't support Float.NaN or Double.NaN. Whereas a union of number and null is sufficient in cases where the nodata value for some domain is can be serialized (Int.MinValue is just another integer and, therefore, serializable without difficulty), we are in need of an alternative strategy for floating point serialization.
To this end, we've serialized with a union of boolean and floating point values. noDataValue can either be: 1. true (and, therefore, ConstantNoData) 2. false (NoNoData) - OR - 3. a floating point value (which is a UserDefinedNoDataValue's value)
Avro serialization doesn't support Float.
Avro serialization doesn't support Float.NaN or Double.NaN. Whereas a union of number and null is sufficient in cases where the nodata value for some domain is can be serialized (Int.MinValue is just another integer and, therefore, serializable without difficulty), we are in need of an alternative strategy for floating point serialization.
To this end, we've serialized with a union of boolean and floating point values. noDataValue can either be: 1. true (and, therefore, ConstantNoData) 2. false (NoNoData) - OR - 3. a floating point value (which is a UserDefinedNoDataValue's value)