- AvroInputStorageDriver.getTypedObj and AvroOutputStorageDriver.getTypedObj should be called recursively for map and list values. Complex type is supported in the schema validation done in TypeConverter .
- AvroInputStorageDriver.convertToHCatRecord converts char field names to lower case before looking up in avro schema, but TypeConverter.check doesn't. Does avro Schema.getField do case sensitive comparison of field names ?
- AvroOutputStorageDriver.convertValue - it will bit more efficient to loop on the position (for (int i=0; i < outputSchema., that way the column name does not have to be looked up in outputSchema (ie HCatRecord.get can be used instead of HCatRecord.get(name, schema) )
- TestAvroInputStorageDriver - I think it will be useful to have some test cases for the case where only some of the fields are requested, and the case when some of the fields are partition keys.
(FYI, I am not a committer on HCatalog.)