Package org.apache.parquet.schema
Class LogicalTypeAnnotation
- java.lang.Object
-
- org.apache.parquet.schema.LogicalTypeAnnotation
-
- Direct Known Subclasses:
LogicalTypeAnnotation.BsonLogicalTypeAnnotation,LogicalTypeAnnotation.DateLogicalTypeAnnotation,LogicalTypeAnnotation.DecimalLogicalTypeAnnotation,LogicalTypeAnnotation.EnumLogicalTypeAnnotation,LogicalTypeAnnotation.IntervalLogicalTypeAnnotation,LogicalTypeAnnotation.IntLogicalTypeAnnotation,LogicalTypeAnnotation.JsonLogicalTypeAnnotation,LogicalTypeAnnotation.ListLogicalTypeAnnotation,LogicalTypeAnnotation.MapKeyValueTypeAnnotation,LogicalTypeAnnotation.MapLogicalTypeAnnotation,LogicalTypeAnnotation.StringLogicalTypeAnnotation,LogicalTypeAnnotation.TimeLogicalTypeAnnotation,LogicalTypeAnnotation.TimestampLogicalTypeAnnotation,LogicalTypeAnnotation.UUIDLogicalTypeAnnotation
public abstract class LogicalTypeAnnotation extends Object
-
-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description LogicalTypeAnnotation()
-
Method Summary
-
-
-
Method Detail
-
toOriginalType
@Private public abstract OriginalType toOriginalType()
Convert this logical type to old logical type representation in parquet-mr (if there's any). Those logical type implementations, which don't have a corresponding mapping should return null.- Returns:
- the OriginalType representation of the new logical type, or null if there's none
-
accept
public abstract <T> Optional<T> accept(LogicalTypeAnnotation.LogicalTypeAnnotationVisitor<T> logicalTypeAnnotationVisitor)
Visits this logical type with the given visitor- Parameters:
logicalTypeAnnotationVisitor- the visitor to visit this type
-
fromOriginalType
@Private public static LogicalTypeAnnotation fromOriginalType(OriginalType originalType, DecimalMetadata decimalMetadata)
Helper method to convert the old representation of logical types (OriginalType) to new logical type.
-
stringType
public static LogicalTypeAnnotation.StringLogicalTypeAnnotation stringType()
-
mapType
public static LogicalTypeAnnotation.MapLogicalTypeAnnotation mapType()
-
listType
public static LogicalTypeAnnotation.ListLogicalTypeAnnotation listType()
-
enumType
public static LogicalTypeAnnotation.EnumLogicalTypeAnnotation enumType()
-
decimalType
public static LogicalTypeAnnotation.DecimalLogicalTypeAnnotation decimalType(int scale, int precision)
-
dateType
public static LogicalTypeAnnotation.DateLogicalTypeAnnotation dateType()
-
timeType
public static LogicalTypeAnnotation.TimeLogicalTypeAnnotation timeType(boolean isAdjustedToUTC, LogicalTypeAnnotation.TimeUnit unit)
-
timestampType
public static LogicalTypeAnnotation.TimestampLogicalTypeAnnotation timestampType(boolean isAdjustedToUTC, LogicalTypeAnnotation.TimeUnit unit)
-
intType
public static LogicalTypeAnnotation.IntLogicalTypeAnnotation intType(int bitWidth, boolean isSigned)
-
jsonType
public static LogicalTypeAnnotation.JsonLogicalTypeAnnotation jsonType()
-
bsonType
public static LogicalTypeAnnotation.BsonLogicalTypeAnnotation bsonType()
-
uuidType
public static LogicalTypeAnnotation.UUIDLogicalTypeAnnotation uuidType()
-
-