Class IcebergArrowColumnVector
java.lang.Object
org.apache.spark.sql.vectorized.ColumnVector
org.apache.iceberg.spark.data.vectorized.IcebergArrowColumnVector
- All Implemented Interfaces:
- AutoCloseable
public class IcebergArrowColumnVector
extends org.apache.spark.sql.vectorized.ColumnVector
Implementation of Spark's 
ColumnVector interface. The code for this class is heavily
 inspired from Spark's ArrowColumnVector The main difference is in how nullability checks
 are made in this class by relying on NullabilityHolder instead of the validity vector in
 the Arrow vector.- 
Field SummaryFields inherited from class org.apache.spark.sql.vectorized.ColumnVectortype
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected 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()voidorg.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 NullabilityHolderintnumNulls()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> Methods inherited from class org.apache.spark.sql.vectorized.ColumnVectordataType, getBooleans, getBytes, getDoubles, getFloats, getInterval, getInts, getLongs, getShorts, getStruct, getVariant
- 
Constructor Details- 
IcebergArrowColumnVector
 
- 
- 
Method Details- 
accessorprotected ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String, accessor()org.apache.spark.sql.vectorized.ColumnarArray, org.apache.spark.sql.vectorized.ArrowColumnVector> 
- 
nullabilityHolder
- 
closepublic void close()- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
closeIfFreeablepublic void closeIfFreeable()- Overrides:
- closeIfFreeablein class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
hasNullpublic boolean hasNull()- Specified by:
- hasNullin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
numNullspublic int numNulls()- Specified by:
- numNullsin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
isNullAtpublic boolean isNullAt(int rowId) - Specified by:
- isNullAtin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getBooleanpublic boolean getBoolean(int rowId) - Specified by:
- getBooleanin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getBytepublic byte getByte(int rowId) - Specified by:
- getBytein class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getShortpublic short getShort(int rowId) - Specified by:
- getShortin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getIntpublic int getInt(int rowId) - Specified by:
- getIntin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getLongpublic long getLong(int rowId) - Specified by:
- getLongin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getFloatpublic float getFloat(int rowId) - Specified by:
- getFloatin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getDoublepublic double getDouble(int rowId) - Specified by:
- getDoublein class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getArraypublic org.apache.spark.sql.vectorized.ColumnarArray getArray(int rowId) - Specified by:
- getArrayin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getMappublic org.apache.spark.sql.vectorized.ColumnarMap getMap(int rowId) - Specified by:
- getMapin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getDecimalpublic org.apache.spark.sql.types.Decimal getDecimal(int rowId, int precision, int scale) - Specified by:
- getDecimalin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getUTF8Stringpublic org.apache.spark.unsafe.types.UTF8String getUTF8String(int rowId) - Specified by:
- getUTF8Stringin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getBinarypublic byte[] getBinary(int rowId) - Specified by:
- getBinaryin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
getChildpublic org.apache.spark.sql.vectorized.ArrowColumnVector getChild(int ordinal) - Specified by:
- getChildin class- org.apache.spark.sql.vectorized.ColumnVector
 
- 
vectorAccessorpublic ArrowVectorAccessor<org.apache.spark.sql.types.Decimal,org.apache.spark.unsafe.types.UTF8String, vectorAccessor()org.apache.spark.sql.vectorized.ColumnarArray, org.apache.spark.sql.vectorized.ArrowColumnVector> 
 
-