Enum ColumnOrder._Fields

java.lang.Object
java.lang.Enum<ColumnOrder._Fields>
org.apache.parquet.format.ColumnOrder._Fields
All Implemented Interfaces:
Serializable, Comparable<ColumnOrder._Fields>, org.apache.thrift.TFieldIdEnum
Enclosing class:
ColumnOrder

public static enum ColumnOrder._Fields extends Enum<ColumnOrder._Fields> implements org.apache.thrift.TFieldIdEnum
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
     
    The sort orders for logical types are: UTF8 - unsigned byte-wise comparison INT8 - signed comparison INT16 - signed comparison INT32 - signed comparison INT64 - signed comparison UINT8 - unsigned comparison UINT16 - unsigned comparison UINT32 - unsigned comparison UINT64 - unsigned comparison DECIMAL - signed comparison of the represented value DATE - signed comparison FLOAT16 - signed comparison of the represented value (*) TIME_MILLIS - signed comparison TIME_MICROS - signed comparison TIMESTAMP_MILLIS - signed comparison TIMESTAMP_MICROS - signed comparison INTERVAL - undefined JSON - unsigned byte-wise comparison BSON - unsigned byte-wise comparison ENUM - unsigned byte-wise comparison LIST - undefined MAP - undefined VARIANT - undefined GEOMETRY - undefined GEOGRAPHY - undefined In the absence of logical types, the sort order is determined by the physical type: BOOLEAN - false, true INT32 - signed comparison INT64 - signed comparison INT96 (only used for legacy timestamps) - undefined(+) FLOAT - signed comparison of the represented value (*) DOUBLE - signed comparison of the represented value (*) BYTE_ARRAY - unsigned byte-wise comparison FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison (+) While the INT96 type has been deprecated, at the time of writing it is still used in many legacy systems.
  • Method Summary

    Modifier and Type
    Method
    Description
    Find the _Fields constant that matches name, or null if its not found.
    findByThriftId(int fieldId)
    Find the _Fields constant that matches fieldId, or null if its not found.
    findByThriftIdOrThrow(int fieldId)
    Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
     
    short
     
    Returns the enum constant of this type with the specified name.
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • TYPE__ORDER

      public static final ColumnOrder._Fields TYPE__ORDER
      The sort orders for logical types are: UTF8 - unsigned byte-wise comparison INT8 - signed comparison INT16 - signed comparison INT32 - signed comparison INT64 - signed comparison UINT8 - unsigned comparison UINT16 - unsigned comparison UINT32 - unsigned comparison UINT64 - unsigned comparison DECIMAL - signed comparison of the represented value DATE - signed comparison FLOAT16 - signed comparison of the represented value (*) TIME_MILLIS - signed comparison TIME_MICROS - signed comparison TIMESTAMP_MILLIS - signed comparison TIMESTAMP_MICROS - signed comparison INTERVAL - undefined JSON - unsigned byte-wise comparison BSON - unsigned byte-wise comparison ENUM - unsigned byte-wise comparison LIST - undefined MAP - undefined VARIANT - undefined GEOMETRY - undefined GEOGRAPHY - undefined In the absence of logical types, the sort order is determined by the physical type: BOOLEAN - false, true INT32 - signed comparison INT64 - signed comparison INT96 (only used for legacy timestamps) - undefined(+) FLOAT - signed comparison of the represented value (*) DOUBLE - signed comparison of the represented value (*) BYTE_ARRAY - unsigned byte-wise comparison FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison (+) While the INT96 type has been deprecated, at the time of writing it is still used in many legacy systems. If a Parquet implementation chooses to write statistics for INT96 columns, it is recommended to order them according to the legacy rules: - compare the last 4 bytes (days) as a little-endian 32-bit signed integer - if equal last 4 bytes, compare the first 8 bytes as a little-endian 64-bit signed integer (nanos) See https://github.com/apache/parquet-format/issues/502 for more details (*) Because TYPE_ORDER is ambiguous for floating point types due to underspecified handling of NaN and -0/+0, it is recommended that writers use IEEE_754_TOTAL_ORDER for these types. If TYPE_ORDER is used for floating point types, then the following compatibility rules should be applied when reading statistics: - If the min is a NaN, it should be ignored. - If the max is a NaN, it should be ignored. - If the nan_count field is set, a reader can compute nan_count + null_count == num_values to deduce whether all non-null values are NaN. - If the min is +0, the row group may contain -0 values as well. - If the max is -0, the row group may contain +0 values as well. - When looking for NaN values, min and max should be ignored. If the nan_count field is set, it can be used to check whether NaNs are present. When writing page or column chunk statistics for columns with TYPE_ORDER order, the following rules must be followed: - The nan_count field must be set for floating point types, even if it is zero. - If the nan_count field is set, min and max statistics fields, when present, must not contain NaN values and must be computed from non-NaN values only. This signals to readers that the min and max statistics are reliable for non-NaN values. - If all non-null values are NaN, min and max statistics must not be written. - If the computed max value is zero (whether negative or positive), `+0.0` should be written into the max statistics field. - If the computed min value is zero (whether negative or positive), `-0.0` should be written into the min statistics field. When writing column indexes for columns with TYPE_ORDER order, the following rules must be followed: - NaNs must not be written to min_values or max_values. - If all non-null values of a page are NaN, a column index must not be written for this column chunk because min_values and max_values are required. - If the computed max value is zero (whether negative or positive), `+0.0` should be written into the corresponding max_values entry. - If the computed min value is zero (whether negative or positive), `-0.0` should be written into the corresponding min_values entry.
    • IEEE_754__TOTAL__ORDER

      public static final ColumnOrder._Fields IEEE_754__TOTAL__ORDER
  • Method Details

    • values

      public static ColumnOrder._Fields[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static ColumnOrder._Fields valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • findByThriftId

      public static ColumnOrder._Fields findByThriftId(int fieldId)
      Find the _Fields constant that matches fieldId, or null if its not found.
    • findByThriftIdOrThrow

      public static ColumnOrder._Fields findByThriftIdOrThrow(int fieldId)
      Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
    • findByName

      public static ColumnOrder._Fields findByName(String name)
      Find the _Fields constant that matches name, or null if its not found.
    • getThriftFieldId

      public short getThriftFieldId()
      Specified by:
      getThriftFieldId in interface org.apache.thrift.TFieldIdEnum
    • getFieldName

      public String getFieldName()
      Specified by:
      getFieldName in interface org.apache.thrift.TFieldIdEnum