Package org.apache.druid.segment.column
Interface ComplexColumn
- All Superinterfaces:
AutoCloseable,BaseColumn,Closeable,SelectableColumn
- All Known Implementing Classes:
CompressedComplexColumn,CompressedNestedDataComplexColumn,GenericIndexedBasedComplexColumn,NestedDataColumnV3,NestedDataColumnV4,NestedDataColumnV5,NestedDataComplexColumn,SerializablePairLongDoubleComplexColumn,SerializablePairLongFloatComplexColumn,SerializablePairLongLongComplexColumn,SerializablePairLongStringComplexColumn,UnknownTypeComplexColumn
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 using
GenericIndexed class which is default implementation of "writeToXXX" methods in
ComplexColumnSerializer. In that case GenericIndexedBasedComplexColumn
should be used.-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close and release any resources associated with this column.Class<?> getClazz()intgetRowValue(int rowNum) Return rows in the column.default ColumnValueSelector<?> Optionally overridden when complex column serialization is not based on default serialization based onGenericIndexedinComplexColumnSerializer.default VectorObjectSelectorMethods inherited from interface org.apache.druid.segment.column.BaseColumn
makeVectorValueSelectorMethods inherited from interface org.apache.druid.segment.column.SelectableColumn
as
-
Method Details
-
getClazz
Class<?> getClazz()- Returns:
- Class of objects returned on calls to
getRowValue(int).
-
getTypeName
String getTypeName()- Returns:
- Typename associated with this column.
-
getRowValue
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
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
- Specified by:
makeVectorObjectSelectorin interfaceBaseColumn
-