Package org.apache.druid.segment.nested
Class NestedDataComplexColumn
- java.lang.Object
-
- org.apache.druid.segment.nested.NestedDataComplexColumn
-
- All Implemented Interfaces:
Closeable,AutoCloseable,BaseColumn,ComplexColumn
- Direct Known Subclasses:
CompressedNestedDataComplexColumn
public abstract class NestedDataComplexColumn extends Object implements ComplexColumn
Describes the basic shape for any 'nested data' (StructuredData)ComplexColumnimplementation along with basic facilities for caching any columns created and methods for retrieving selectors for nested field columns.NestedFieldVirtualColumnallows query time use of the nested fields.
-
-
Constructor Summary
Constructors Constructor Description NestedDataComplexColumn()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.segment.column.BaseColumn
as, makeVectorValueSelector
-
Methods inherited from interface org.apache.druid.segment.column.ComplexColumn
close, getLength, getRowValue, makeColumnValueSelector, makeVectorObjectSelector
-
-
-
-
Method Detail
-
makeDimensionSelector
public abstract DimensionSelector makeDimensionSelector(List<NestedPathPart> path, ReadableOffset readableOffset, ExtractionFn fn)
Make aDimensionSelectorfor a nested field column
-
makeColumnValueSelector
public abstract ColumnValueSelector<?> makeColumnValueSelector(List<NestedPathPart> path, ReadableOffset readableOffset)
Make aColumnValueSelectorfor a nested field column
-
makeSingleValueDimensionVectorSelector
public abstract SingleValueDimensionVectorSelector makeSingleValueDimensionVectorSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
Make aSingleValueDimensionVectorSelectorfor a nested field column
-
makeVectorObjectSelector
public abstract VectorObjectSelector makeVectorObjectSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
Make aVectorObjectSelectorfor a nested field column
-
makeVectorValueSelector
public abstract VectorValueSelector makeVectorValueSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
Make aVectorValueSelectorfor a nested field column
-
getNestedFields
public abstract List<List<NestedPathPart>> getNestedFields()
Get list of fields represented as a sequence ofNestedPathPart
-
getColumnTypes
@Nullable public abstract Set<ColumnType> getColumnTypes(List<NestedPathPart> path)
Get allColumnTypefor the nested field column
-
getColumnHolder
@Nullable public abstract ColumnHolder getColumnHolder(List<NestedPathPart> path)
Get aColumnHolderfor a nested field column to retrieve metadata, the column itself, or indexes.
-
getColumnIndexSupplier
@Nullable public abstract ColumnIndexSupplier getColumnIndexSupplier(List<NestedPathPart> path)
Make aColumnIndexSupplierfor a nested field column
-
isNumeric
public abstract boolean isNumeric(List<NestedPathPart> path)
Shortcut to check if a nested field column isTypeSignature.isNumeric(), useful when broadly choosing the type of vector selector to be used when dealing with the path
-
getClazz
public Class<?> getClazz()
- Specified by:
getClazzin interfaceComplexColumn- Returns:
- Class of objects returned on calls to
ComplexColumn.getRowValue(int).
-
getTypeName
public String getTypeName()
- Specified by:
getTypeNamein interfaceComplexColumn- Returns:
- Typename associated with this column.
-
-