Class SchemaUtils


  • public class SchemaUtils
    extends java.lang.Object
    A set of utility functions for schemas.
    • Constructor Summary

      Constructors 
      Constructor Description
      SchemaUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Schema mergeWideningNullable​(Schema schema1, Schema schema2)
      Given two schema that have matching types, return a nullable-widened schema.
      static <InputT,​BaseT>
      BaseT
      toLogicalBaseType​(Schema.LogicalType<InputT,​BaseT> logicalType, InputT inputType)
      Returns the base type given a logical type and the input type.
      static <BaseT,​InputT>
      InputT
      toLogicalInputType​(Schema.LogicalType<InputT,​BaseT> logicalType, BaseT baseType)
      Returns the input type given a logical type and the base type.
      • Methods inherited from class java.lang.Object

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

      • SchemaUtils

        public SchemaUtils()
    • Method Detail

      • mergeWideningNullable

        public static Schema mergeWideningNullable​(Schema schema1,
                                                   Schema schema2)
        Given two schema that have matching types, return a nullable-widened schema.

        The schemas must have matching types, except for field names which can differ. The returned schema will contain the field names in the first schema. All field types will be nullable if the corresponding field type is nullable in either of the input schemas.

      • toLogicalBaseType

        public static <InputT,​BaseT> BaseT toLogicalBaseType​(Schema.LogicalType<InputT,​BaseT> logicalType,
                                                                   InputT inputType)
        Returns the base type given a logical type and the input type.

        This function can be used to handle logical types without knowing InputT or BaseT.

      • toLogicalInputType

        public static <BaseT,​InputT> InputT toLogicalInputType​(Schema.LogicalType<InputT,​BaseT> logicalType,
                                                                     BaseT baseType)
        Returns the input type given a logical type and the base type.

        This function can be used to handle logical types without knowing InputT or BaseT.