您可以使用GenericRecord
将Avro SpecificRecord
转换为deepCopy
:
SpecificData.get().deepCopy(genericRecord.schema, genericRecord)
相反的操作-将SpecificRecord
转换为GenericRecord
也可以。请注意,此方法不支持架构演变:只有一个架构传递给deepCopy
,并且用于读取和写入。这意味着将根据字段的位置复制字段,因此SpecificRecord
模式必须与GenericRecord
模式完全匹配。
请参见。