Class NestedPositionUtil


  • public class NestedPositionUtil
    extends Object
    Utils to calculate nested type position.
    • Constructor Detail

      • NestedPositionUtil

        public NestedPositionUtil()
    • Method Detail

      • calculateRowOffsets

        public static RowPosition calculateRowOffsets​(ParquetField field,
                                                      int[] fieldDefinitionLevels,
                                                      int[] fieldRepetitionLevels)
        Calculate row offsets according to column's max repetition level, definition level, value's repetition level and definition level. Each row has three situation:
      • Row is not defined,because it's optional parent fields is null, this is decided by its parent's repetition level
      • Row is null
      • Row is defined and not empty.
Parameters:
field - field that contains the row column message include max repetition level and definition level.
fieldRepetitionLevels - int array with each value's repetition level.
fieldDefinitionLevels - int array with each value's definition level.
Returns:
RowPosition contains collections row count and isNull array.
Parameters:
field - field that contains array/map column message include max repetition level and definition level.
definitionLevels - int array with each value's repetition level.
repetitionLevels - int array with each value's definition level.
Returns:
CollectionPosition contains collections offset array, length array and isNull array.