Class AvroRecordSchema

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.beam.sdk.schemas.SchemaProvider

    public class AvroRecordSchema
    extends org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2
    A SchemaProvider for AVRO generated SpecificRecords and POJOs.

    This provider infers a schema from generated SpecificRecord objects, and creates schemas and rows that bind to the appropriate fields. This provider also infers schemas from Java POJO objects, creating a schema that matches that inferred by the AVRO libraries.

    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> java.util.List<org.apache.beam.sdk.schemas.FieldValueGetter<@NonNull T,​java.lang.Object>> fieldValueGetters​(org.apache.beam.sdk.values.TypeDescriptor<T> targetTypeDescriptor, org.apache.beam.sdk.schemas.Schema schema)  
      java.util.List<org.apache.beam.sdk.schemas.FieldValueTypeInformation> fieldValueTypeInformations​(org.apache.beam.sdk.values.TypeDescriptor<?> targetTypeDescriptor, org.apache.beam.sdk.schemas.Schema schema)  
      <T> org.apache.beam.sdk.schemas.Schema schemaFor​(org.apache.beam.sdk.values.TypeDescriptor<T> typeDescriptor)  
      org.apache.beam.sdk.schemas.SchemaUserTypeCreator schemaTypeCreator​(org.apache.beam.sdk.values.TypeDescriptor<?> targetTypeDescriptor, org.apache.beam.sdk.schemas.Schema schema)  
      • Methods inherited from class org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2

        fieldValueGetters, fieldValueTypeInformations, schemaTypeCreator
      • Methods inherited from class org.apache.beam.sdk.schemas.GetterBasedSchemaProvider

        equals, fromRowFunction, hashCode, toRowFunction
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AvroRecordSchema

        public AvroRecordSchema()
    • Method Detail

      • schemaFor

        public <T> org.apache.beam.sdk.schemas.Schema schemaFor​(org.apache.beam.sdk.values.TypeDescriptor<T> typeDescriptor)
      • fieldValueGetters

        public <T> java.util.List<org.apache.beam.sdk.schemas.FieldValueGetter<@NonNull T,​java.lang.Object>> fieldValueGetters​(org.apache.beam.sdk.values.TypeDescriptor<T> targetTypeDescriptor,
                                                                                                                                     org.apache.beam.sdk.schemas.Schema schema)
        Specified by:
        fieldValueGetters in class org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2
      • fieldValueTypeInformations

        public java.util.List<org.apache.beam.sdk.schemas.FieldValueTypeInformation> fieldValueTypeInformations​(org.apache.beam.sdk.values.TypeDescriptor<?> targetTypeDescriptor,
                                                                                                                org.apache.beam.sdk.schemas.Schema schema)
        Specified by:
        fieldValueTypeInformations in class org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2
      • schemaTypeCreator

        public org.apache.beam.sdk.schemas.SchemaUserTypeCreator schemaTypeCreator​(org.apache.beam.sdk.values.TypeDescriptor<?> targetTypeDescriptor,
                                                                                   org.apache.beam.sdk.schemas.Schema schema)
        Specified by:
        schemaTypeCreator in class org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2