Class IcebergDecoder<D>
- All Implemented Interfaces:
org.apache.avro.message.MessageDecoder<D>
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.avro.message.MessageDecoder
org.apache.avro.message.MessageDecoder.BaseDecoder<D extends Object> -
Constructor Summary
ConstructorsConstructorDescriptionIcebergDecoder(Schema readSchema) Creates a new decoder that constructs datum instances described by anIceberg schema.IcebergDecoder(Schema readSchema, org.apache.avro.message.SchemaStore resolver) Creates a new decoder that constructs datum instances described by anIceberg schema. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds anIceberg schemathat can be used to decode buffers.decode(InputStream stream, D reuse) Methods inherited from class org.apache.avro.message.MessageDecoder.BaseDecoder
decode, decode, decode, decode, decode
-
Constructor Details
-
IcebergDecoder
Creates a new decoder that constructs datum instances described by anIceberg schema.The
readSchemais as used the expected schema (read schema). Datum instances created by this class will are described by the expected schema.The schema used to decode incoming buffers is determined by the schema fingerprint encoded in the message header. This class can decode messages that were encoded using the
readSchemaand other schemas that are added usingaddSchema(org.apache.iceberg.Schema).- Parameters:
readSchema- the schema used to construct datum instances
-
IcebergDecoder
Creates a new decoder that constructs datum instances described by anIceberg schema.The
readSchemais as used the expected schema (read schema). Datum instances created by this class will are described by the expected schema.The schema used to decode incoming buffers is determined by the schema fingerprint encoded in the message header. This class can decode messages that were encoded using the
readSchemaand other schemas that are added usingaddSchema(org.apache.iceberg.Schema).Schemas may also be returned from an Avro
SchemaStore. Avro Schemas from the store must be compatible with Iceberg and should contain id properties and use only Iceberg types.- Parameters:
readSchema- theSchemaused to construct datum instancesresolver- aSchemaStoreused to find schemas by fingerprint
-
-
Method Details
-
addSchema
Adds anIceberg schemathat can be used to decode buffers.- Parameters:
writeSchema- a schema to use when decoding buffers
-
decode
- Throws:
IOException
-