Package org.apache.parquet.format
Enum 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 ConstantsEnum ConstantDescriptionThe 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 TypeMethodDescriptionstatic ColumnOrder._FieldsfindByName(String name) Find the _Fields constant that matches name, or null if its not found.static ColumnOrder._FieldsfindByThriftId(int fieldId) Find the _Fields constant that matches fieldId, or null if its not found.static ColumnOrder._FieldsfindByThriftIdOrThrow(int fieldId) Find the _Fields constant that matches fieldId, throwing an exception if it is not found.shortstatic ColumnOrder._FieldsReturns the enum constant of this type with the specified name.static ColumnOrder._Fields[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
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
-
-
Method Details
-
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
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 nameNullPointerException- if the argument is null
-
findByThriftId
Find the _Fields constant that matches fieldId, or null if its not found. -
findByThriftIdOrThrow
Find the _Fields constant that matches fieldId, throwing an exception if it is not found. -
findByName
Find the _Fields constant that matches name, or null if its not found. -
getThriftFieldId
public short getThriftFieldId()- Specified by:
getThriftFieldIdin interfaceorg.apache.thrift.TFieldIdEnum
-
getFieldName
- Specified by:
getFieldNamein interfaceorg.apache.thrift.TFieldIdEnum
-