Class IcebergArrowColumnVector
- java.lang.Object
-
- org.apache.spark.sql.vectorized.ColumnVector
-
- org.apache.iceberg.spark.data.vectorized.IcebergArrowColumnVector
-
- All Implemented Interfaces:
java.lang.AutoCloseable
- Direct Known Subclasses:
ColumnVectorWithFilter
public class IcebergArrowColumnVector extends org.apache.spark.sql.vectorized.ColumnVectorImplementation of Spark'sColumnVectorinterface. The code for this class is heavily inspired from Spark'sArrowColumnVectorThe main difference is in how nullability checks are made in this class by relying onNullabilityHolderinstead of the validity vector in the Arrow vector.
-
-
Constructor Summary
Constructors Constructor Description IcebergArrowColumnVector(VectorHolder holder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String,org.apache.spark.sql.vectorized.ColumnarArray,org.apache.spark.sql.vectorized.ArrowColumnVector>accessor()voidclose()org.apache.spark.sql.vectorized.ColumnarArraygetArray(int rowId)byte[]getBinary(int rowId)booleangetBoolean(int rowId)bytegetByte(int rowId)org.apache.spark.sql.vectorized.ArrowColumnVectorgetChild(int ordinal)org.apache.spark.sql.types.DecimalgetDecimal(int rowId, int precision, int scale)doublegetDouble(int rowId)floatgetFloat(int rowId)intgetInt(int rowId)longgetLong(int rowId)org.apache.spark.sql.vectorized.ColumnarMapgetMap(int rowId)shortgetShort(int rowId)org.apache.spark.unsafe.types.UTF8StringgetUTF8String(int rowId)booleanhasNull()booleanisNullAt(int rowId)protected NullabilityHoldernullabilityHolder()intnumNulls()ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String,org.apache.spark.sql.vectorized.ColumnarArray,org.apache.spark.sql.vectorized.ArrowColumnVector>vectorAccessor()
-
-
-
Constructor Detail
-
IcebergArrowColumnVector
public IcebergArrowColumnVector(VectorHolder holder)
-
-
Method Detail
-
accessor
protected ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String,org.apache.spark.sql.vectorized.ColumnarArray,org.apache.spark.sql.vectorized.ArrowColumnVector> accessor()
-
nullabilityHolder
protected NullabilityHolder nullabilityHolder()
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein classorg.apache.spark.sql.vectorized.ColumnVector
-
hasNull
public boolean hasNull()
- Specified by:
hasNullin classorg.apache.spark.sql.vectorized.ColumnVector
-
numNulls
public int numNulls()
- Specified by:
numNullsin classorg.apache.spark.sql.vectorized.ColumnVector
-
isNullAt
public boolean isNullAt(int rowId)
- Specified by:
isNullAtin classorg.apache.spark.sql.vectorized.ColumnVector
-
getBoolean
public boolean getBoolean(int rowId)
- Specified by:
getBooleanin classorg.apache.spark.sql.vectorized.ColumnVector
-
getByte
public byte getByte(int rowId)
- Specified by:
getBytein classorg.apache.spark.sql.vectorized.ColumnVector
-
getShort
public short getShort(int rowId)
- Specified by:
getShortin classorg.apache.spark.sql.vectorized.ColumnVector
-
getInt
public int getInt(int rowId)
- Specified by:
getIntin classorg.apache.spark.sql.vectorized.ColumnVector
-
getLong
public long getLong(int rowId)
- Specified by:
getLongin classorg.apache.spark.sql.vectorized.ColumnVector
-
getFloat
public float getFloat(int rowId)
- Specified by:
getFloatin classorg.apache.spark.sql.vectorized.ColumnVector
-
getDouble
public double getDouble(int rowId)
- Specified by:
getDoublein classorg.apache.spark.sql.vectorized.ColumnVector
-
getArray
public org.apache.spark.sql.vectorized.ColumnarArray getArray(int rowId)
- Specified by:
getArrayin classorg.apache.spark.sql.vectorized.ColumnVector
-
getMap
public org.apache.spark.sql.vectorized.ColumnarMap getMap(int rowId)
- Specified by:
getMapin classorg.apache.spark.sql.vectorized.ColumnVector
-
getDecimal
public org.apache.spark.sql.types.Decimal getDecimal(int rowId, int precision, int scale)- Specified by:
getDecimalin classorg.apache.spark.sql.vectorized.ColumnVector
-
getUTF8String
public org.apache.spark.unsafe.types.UTF8String getUTF8String(int rowId)
- Specified by:
getUTF8Stringin classorg.apache.spark.sql.vectorized.ColumnVector
-
getBinary
public byte[] getBinary(int rowId)
- Specified by:
getBinaryin classorg.apache.spark.sql.vectorized.ColumnVector
-
getChild
public org.apache.spark.sql.vectorized.ArrowColumnVector getChild(int ordinal)
- Specified by:
getChildin classorg.apache.spark.sql.vectorized.ColumnVector
-
vectorAccessor
public ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String,org.apache.spark.sql.vectorized.ColumnarArray,org.apache.spark.sql.vectorized.ArrowColumnVector> vectorAccessor()
-
-