org.apache.avro.hadoop.io

## Class AvroSerializer<T>

- java.lang.Object
- - org.apache.avro.hadoop.io.AvroSerializer<T>

- Type Parameters:
    `T` - The Java type of the Avro data.
  All Implemented Interfaces:
    Serializer<AvroWrapper<T>>

      public class AvroSerializer<T>
      extends Object
      implements Serializer<AvroWrapper<T>>

  Serializes AvroWrapper objects within Hadoop.

  Keys and values containing Avro types are more efficiently serialized outside of the WritableSerialization model, so they are wrapped in `AvroWrapper` objects and serialization is handled by this class.

  MapReduce jobs that use AvroWrapper objects as keys or values need to be configured with `AvroSerialization`. Use `AvroJob` to help with Job configuration.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AvroSerializer(Schema writerSchema)` Constructor.
    `AvroSerializer(Schema writerSchema, DatumWriter<T> datumWriter)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `Schema` | `getWriterSchema()` Gets the writer schema being used for serialization.
    `void` | `open(OutputStream outputStream)`
    `void` | `serialize(AvroWrapper<T> avroWrapper)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AvroSerializer

          public AvroSerializer(Schema writerSchema)

      Constructor.
      Parameters:
        `writerSchema` - The writer schema for the Avro data being serialized.

    - #### AvroSerializer

          public AvroSerializer(Schema writerSchema,
                                DatumWriter<T> datumWriter)

      Constructor.
      Parameters:
        `writerSchema` - The writer schema for the Avro data being serialized.
        `datumWriter` - The datum writer to use for serialization.

  - ### Method Detail

    - #### getWriterSchema

          public Schema getWriterSchema()

      Gets the writer schema being used for serialization.
      Returns:
        The writer schema.

    - #### open

          public void open(OutputStream outputStream)
                    throws IOException

      Specified by:
        `open` in interface `Serializer<AvroWrapper<T>>`
      Throws:
        `IOException`

    - #### serialize

          public void serialize(AvroWrapper<T> avroWrapper)
                         throws IOException

      Specified by:
        `serialize` in interface `Serializer<AvroWrapper<T>>`
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `Serializer<AvroWrapper<T>>`
      Throws:
        `IOException`

Copyright © 2009–2024 The Apache Software Foundation. All rights reserved.