Package org.apache.druid.segment.column
Interface ComplexColumn
-
- All Superinterfaces:
AutoCloseable
,BaseColumn
,Closeable
- All Known Implementing Classes:
CompressedNestedDataComplexColumn
,GenericIndexedBasedComplexColumn
,NestedDataColumnV3
,NestedDataColumnV4
,NestedDataColumnV5
,NestedDataComplexColumn
,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 usingGenericIndexed
class which is default implementation of "writeToXXX" methods inComplexColumnSerializer
. In that caseGenericIndexedBasedComplexColumn
should be used.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
close()
Close and release any resources associated with this column.Class<?>
getClazz()
int
getLength()
Object
getRowValue(int rowNum)
Return rows in the column.String
getTypeName()
default ColumnValueSelector<?>
makeColumnValueSelector(ReadableOffset offset)
Optionally overridden when complex column serialization is not based on default serialization based onGenericIndexed
inComplexColumnSerializer
.default VectorObjectSelector
makeVectorObjectSelector(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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
makeColumnValueSelector
default ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset)
Optionally overridden when complex column serialization is not based on default serialization based onGenericIndexed
inComplexColumnSerializer
.- Specified by:
makeColumnValueSelector
in interfaceBaseColumn
- Parameters:
offset
- object to retrieve row number- Returns:
- the
ColumnValueSelector
object
-
makeVectorObjectSelector
default VectorObjectSelector makeVectorObjectSelector(ReadableVectorOffset offset)
- Specified by:
makeVectorObjectSelector
in interfaceBaseColumn
-
-