Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.13.1
-
None
-
None
-
None
Description
Avro allows nullable circular references but Hive AvroSerDe does not.
Example of circular references (passing in Avro but failing in AvroSerDe):
class AvroCycleParent { AvroCycleChild child; public AvroCycleChild getChild () {return child;} public void setChild (AvroCycleChild child) {this.child = child;} } class AvroCycleChild { AvroCycleParent parent; public AvroCycleParent getParent () {return parent;} public void setParent (AvroCycleParent parent) {this.parent = parent;} }
Due to this discrepancy, Hive is unable to read Avro records having circular-references. For some third-party code with such references, it becomes very hard to directly serialize it with Avro and use in Hive.
I have a patch for this with a unit-test and I will submit it shortly.
Attachments
Attachments
Issue Links
- relates to
-
HIVE-10187 Avro backed tables don't handle cyclical or recursive records
- Closed
- links to