Enum ColumnIndex._Fields

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

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

    • NULL_PAGES

      public static final ColumnIndex._Fields NULL_PAGES
      A list of Boolean values to determine the validity of the corresponding min and max values. If true, a page contains only null values, and writers have to set the corresponding entries in min_values and max_values to byte[0], so that all lists have the same length. If false, the corresponding entries in min_values and max_values must be valid.
    • MIN_VALUES

      public static final ColumnIndex._Fields MIN_VALUES
      Two lists containing lower and upper bounds for the values of each page determined by the ColumnOrder of the column. These may be the actual minimum and maximum values found on a page, but can also be (more compact) values that do not exist on a page. For example, instead of storing "Blart Versenwald III", a writer may set min_values[i]="B", max_values[i]="C". Such more compact values must still be valid values within the column's logical type. Readers must make sure that list entries are populated before using them by inspecting null_pages. For columns of physical type FLOAT or DOUBLE, or logical type FLOAT16, NaN values are not to be included in these bounds. If all non-null values of a page are NaN, then a writer must do the following: - If the order of this column is TYPE_ORDER, then a column index must not be written for this column chunk. While this is unfortunate for performance, it is necessary to avoid conflict with legacy files that still included NaN in min_values and max_values even if the page had non-NaN values. To mitigate this, IEEE754_TOTAL_ORDER is recommended. - If the order of this column is IEEE754_TOTAL_ORDER, then min_values[i] and max_values[i] of that page must be set to the smallest and largest NaN values as defined by IEEE 754 total order.
    • MAX_VALUES

      public static final ColumnIndex._Fields MAX_VALUES
    • BOUNDARY_ORDER

      public static final ColumnIndex._Fields BOUNDARY_ORDER
      Stores whether both min_values and max_values are ordered and if so, in which direction. This allows readers to perform binary searches in both lists. Readers cannot assume that max_values[i] <= min_values[i+1], even if the lists are ordered.
      See Also:
    • NULL_COUNTS

      public static final ColumnIndex._Fields NULL_COUNTS
      A list containing the number of null values for each page Writers SHOULD always write this field even if no null values are present or the column is not nullable. Readers MUST distinguish between null_counts not being present and null_count being 0. If null_counts are not present, readers MUST NOT assume all null counts are 0.
    • REPETITION_LEVEL_HISTOGRAMS

      public static final ColumnIndex._Fields REPETITION_LEVEL_HISTOGRAMS
      Contains repetition level histograms for each page concatenated together. The repetition_level_histogram field on SizeStatistics contains more details. When present the length should always be (number of pages * (max_repetition_level + 1)) elements. Element 0 is the first element of the histogram for the first page. Element (max_repetition_level + 1) is the first element of the histogram for the second page.
    • DEFINITION_LEVEL_HISTOGRAMS

      public static final ColumnIndex._Fields DEFINITION_LEVEL_HISTOGRAMS
      Same as repetition_level_histograms except for definitions levels.
    • NAN_COUNTS

      public static final ColumnIndex._Fields NAN_COUNTS
      A list containing the number of NaN values for each page. Only present for columns of physical type FLOAT or DOUBLE, or logical type FLOAT16. If this field is not present, readers MUST assume that there might be NaN values in any page.
  • Method Details

    • values

      public static ColumnIndex._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 ColumnIndex._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 ColumnIndex._Fields findByThriftId(int fieldId)
      Find the _Fields constant that matches fieldId, or null if its not found.
    • findByThriftIdOrThrow

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

      public static ColumnIndex._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