Package org.apache.druid.segment.column
Interface ComplexColumn
-
- All Superinterfaces:
AutoCloseable,BaseColumn,Closeable
- All Known Implementing Classes:
CompressedNestedDataComplexColumn,GenericIndexedBasedComplexColumn,NestedDataColumnV3,NestedDataColumnV4,NestedDataColumnV5,NestedDataComplexColumn,SerializablePairLongDoubleComplexColumn,SerializablePairLongFloatComplexColumn,SerializablePairLongLongComplexColumn,SerializablePairLongStringComplexColumn,UnknownTypeComplexColumn
public interface ComplexColumn extends BaseColumn
This interface represents a complex column and can be implemented by druid extension writer of a custom column with arbitrary serialization instead of a custom column that serializes rows of objects serialized usingGenericIndexedclass which is default implementation of "writeToXXX" methods inComplexColumnSerializer. In that caseGenericIndexedBasedComplexColumnshould be used.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidclose()Close and release any resources associated with this column.Class<?>getClazz()intgetLength()ObjectgetRowValue(int rowNum)Return rows in the column.StringgetTypeName()default ColumnValueSelector<?>makeColumnValueSelector(ReadableOffset offset)Optionally overridden when complex column serialization is not based on default serialization based onGenericIndexedinComplexColumnSerializer.default VectorObjectSelectormakeVectorObjectSelector(ReadableVectorOffset offset)-
Methods inherited from interface org.apache.druid.segment.column.BaseColumn
makeVectorValueSelector
-
-
-
-
Method Detail
-
getClazz
Class<?> getClazz()
- Returns:
- Class of objects returned on calls to
getRowValue(int).
-
getTypeName
String getTypeName()
- Returns:
- Typename associated with this column.
-
getRowValue
Object getRowValue(int rowNum)
Return rows in the column.- Parameters:
rowNum- the row number- Returns:
- row object of type same as
getClazz()} at row number "rowNum" .
-
getLength
int getLength()
- Returns:
- serialized size (in bytes) of this column. -1 for unknown
-
close
void close()
Close and release any resources associated with this column.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
makeColumnValueSelector
default ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset)
Optionally overridden when complex column serialization is not based on default serialization based onGenericIndexedinComplexColumnSerializer.- Specified by:
makeColumnValueSelectorin interfaceBaseColumn- Parameters:
offset- object to retrieve row number- Returns:
- the
ColumnValueSelectorobject
-
makeVectorObjectSelector
default VectorObjectSelector makeVectorObjectSelector(ReadableVectorOffset offset)
- Specified by:
makeVectorObjectSelectorin interfaceBaseColumn
-
-