MultiValuedColumnVector (Hive Storage API 2.1.1-pre-orc API)
Date: 2016-10-19

org.apache.hadoop.hive.ql.exec.vector

## Class MultiValuedColumnVector

- java.lang.Object
- - org.apache.hadoop.hive.ql.exec.vector.ColumnVector
  - - org.apache.hadoop.hive.ql.exec.vector.MultiValuedColumnVector

- Direct Known Subclasses:
    ListColumnVector, MapColumnVector

      public abstract class MultiValuedColumnVector
      extends ColumnVector

  The representation of a vectorized column of multi-valued objects, such as lists and maps. Each object is composed of a range of elements in the underlying child ColumnVector. The range for list i is offsets[i]..offsets[i]+lengths[i]-1 inclusive.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `ColumnVector.Type`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `childCount`
    `long[]` | `lengths`
    `long[]` | `offsets`

    - ### Fields inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `isNull, isRepeating, noNulls`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultiValuedColumnVector(int len)` Constructor for MultiValuedColumnVector.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `childFlatten(boolean useSelected, int[] selected, int size)`
    `void` | `ensureSize(int size, boolean preserveData)` Ensure the ColumnVector can hold at least size values.
    `void` | `flatten(boolean selectedInUse, int[] sel, int size)`
    `void` | `init()` Initializee the vector
    `void` | `reset()` Reset the vector for the next batch.

    - ### Methods inherited from class org.apache.hadoop.hive.ql.exec.vector.ColumnVector

      `flattenNoNulls, flattenPush, flattenRepeatingNulls, setElement, setRepeating, stringifyValue, unFlatten`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### offsets

          public long[] offsets

    - #### lengths

          public long[] lengths

    - #### childCount

          public int childCount

  - ### Constructor Detail

    - #### MultiValuedColumnVector

          public MultiValuedColumnVector(int len)

      Constructor for MultiValuedColumnVector.
      Parameters:
        `len` - Vector length

  - ### Method Detail

    - #### childFlatten

          protected abstract void childFlatten(boolean useSelected,
                                               int[] selected,
                                               int size)

    - #### flatten

          public void flatten(boolean selectedInUse,
                              int[] sel,
                              int size)

      Specified by:
        `flatten` in class `ColumnVector`

    - #### ensureSize

          public void ensureSize(int size,
                                 boolean preserveData)

      Description copied from class: `ColumnVector`
      Ensure the ColumnVector can hold at least size values. This method is deliberately *not* recursive because the complex types can easily have more (or less) children than the upper levels.
      Overrides:
        `ensureSize` in class `ColumnVector`
      Parameters:
        `size` - the new minimum size
        `preserveData` - should the old data be preserved?

    - #### init

          public void init()

      Initializee the vector
      Overrides:
        `init` in class `ColumnVector`

    - #### reset

          public void reset()

      Reset the vector for the next batch.
      Overrides:
        `reset` in class `ColumnVector`

Copyright © 2016 The Apache Software Foundation. All rights reserved.