public abstract class CompressedNestedDataComplexColumn<TStringDictionary extends Indexed<ByteBuffer>> extends NestedDataComplexColumn implements NestedCommonFormatColumn
NestedDataComplexColumn which uses a CompressedVariableSizedBlobColumn for the
'raw' StructuredData values and provides selectors for nested field columns specified by ordered lists of
NestedPathPart.
The list of available nested paths is stored in fields, and their associated types stored in
fieldInfo which can be accessed by the index of the field in fields.
In the case that the nested column has only a single field, and that field is the 'root' path, specified by
rootFieldPath, the selectors created for the complex column itself will use the 'root' path selectors
instead.
NestedCommonFormatColumn.Format| Modifier and Type | Field and Description |
|---|---|
static org.apache.druid.segment.nested.CompressedNestedDataComplexColumn.IntTypeStrategy |
INT_TYPE_STRATEGY |
| Constructor and Description |
|---|
CompressedNestedDataComplexColumn(String columnName,
ColumnType logicalType,
ColumnConfig columnConfig,
CompressedVariableSizedBlobColumnSupplier compressedRawColumnSupplier,
ImmutableBitmap nullValues,
GenericIndexed<String> fields,
FieldTypeInfo fieldInfo,
com.google.common.base.Supplier<TStringDictionary> stringDictionary,
com.google.common.base.Supplier<FixedIndexed<Long>> longDictionarySupplier,
com.google.common.base.Supplier<FixedIndexed<Double>> doubleDictionarySupplier,
com.google.common.base.Supplier<FrontCodedIntArrayIndexed> arrayDictionarySupplier,
SmooshedFileMapper fileMapper,
BitmapSerdeFactory bitmapSerdeFactory,
ByteOrder byteOrder,
String rootFieldPath) |
getClazz, getTypeNamepublic static final org.apache.druid.segment.nested.CompressedNestedDataComplexColumn.IntTypeStrategy INT_TYPE_STRATEGY
public CompressedNestedDataComplexColumn(String columnName, ColumnType logicalType, ColumnConfig columnConfig, CompressedVariableSizedBlobColumnSupplier compressedRawColumnSupplier, ImmutableBitmap nullValues, GenericIndexed<String> fields, FieldTypeInfo fieldInfo, com.google.common.base.Supplier<TStringDictionary> stringDictionary, com.google.common.base.Supplier<FixedIndexed<Long>> longDictionarySupplier, com.google.common.base.Supplier<FixedIndexed<Double>> doubleDictionarySupplier, @Nullable com.google.common.base.Supplier<FrontCodedIntArrayIndexed> arrayDictionarySupplier, SmooshedFileMapper fileMapper, BitmapSerdeFactory bitmapSerdeFactory, ByteOrder byteOrder, String rootFieldPath)
public abstract List<NestedPathPart> parsePath(String path)
public abstract String getField(List<NestedPathPart> path)
public abstract String getFieldFileName(String fileNameBase, String field, int fieldIndex)
public SortedMap<String,FieldTypeInfo.MutableTypeSet> getFieldTypeInfo()
getFieldTypeInfo in interface NestedCommonFormatColumnpublic ColumnType getLogicalType()
getLogicalType in interface NestedCommonFormatColumnpublic List<List<NestedPathPart>> getNestedFields()
NestedDataComplexColumnNestedPathPartgetNestedFields in class NestedDataComplexColumnpublic TStringDictionary getUtf8BytesDictionary()
public Indexed<String> getStringDictionary()
getStringDictionary in interface NestedCommonFormatColumnpublic Indexed<Long> getLongDictionary()
getLongDictionary in interface NestedCommonFormatColumnpublic Indexed<Double> getDoubleDictionary()
getDoubleDictionary in interface NestedCommonFormatColumnpublic Indexed<Object[]> getArrayDictionary()
getArrayDictionary in interface NestedCommonFormatColumnpublic ImmutableBitmap getNullValues()
@Nullable public Object getRowValue(int rowNum)
ComplexColumngetRowValue in interface ComplexColumnrowNum - the row numberComplexColumn.getClazz() } at row number "rowNum" .public ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset)
ComplexColumnGenericIndexed in ComplexColumnSerializer.makeColumnValueSelector in interface BaseColumnmakeColumnValueSelector in interface ComplexColumnoffset - object to retrieve row numberColumnValueSelector objectpublic VectorObjectSelector makeVectorObjectSelector(ReadableVectorOffset offset)
makeVectorObjectSelector in interface BaseColumnmakeVectorObjectSelector in interface ComplexColumnpublic VectorValueSelector makeVectorValueSelector(ReadableVectorOffset offset)
makeVectorValueSelector in interface BaseColumnpublic int getLength()
getLength in interface ComplexColumnpublic void close()
ComplexColumnclose in interface Closeableclose in interface AutoCloseableclose in interface ComplexColumnpublic DimensionSelector makeDimensionSelector(List<NestedPathPart> path, ReadableOffset readableOffset, ExtractionFn fn)
NestedDataComplexColumnDimensionSelector for a nested field columnmakeDimensionSelector in class NestedDataComplexColumnpublic ColumnValueSelector<?> makeColumnValueSelector(List<NestedPathPart> path, ReadableOffset readableOffset)
NestedDataComplexColumnColumnValueSelector for a nested field columnmakeColumnValueSelector in class NestedDataComplexColumnpublic SingleValueDimensionVectorSelector makeSingleValueDimensionVectorSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
NestedDataComplexColumnSingleValueDimensionVectorSelector for a nested field columnmakeSingleValueDimensionVectorSelector in class NestedDataComplexColumnpublic VectorObjectSelector makeVectorObjectSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
NestedDataComplexColumnVectorObjectSelector for a nested field columnmakeVectorObjectSelector in class NestedDataComplexColumnpublic VectorValueSelector makeVectorValueSelector(List<NestedPathPart> path, ReadableVectorOffset readableOffset)
NestedDataComplexColumnVectorValueSelector for a nested field columnmakeVectorValueSelector in class NestedDataComplexColumn@Nullable public Set<ColumnType> getColumnTypes(List<NestedPathPart> path)
NestedDataComplexColumnColumnType for the nested field columngetColumnTypes in class NestedDataComplexColumn@Nullable public ColumnHolder getColumnHolder(List<NestedPathPart> path)
NestedDataComplexColumnColumnHolder for a nested field column to retrieve metadata, the column itself, or indexes.getColumnHolder in class NestedDataComplexColumn@Nullable public ColumnIndexSupplier getColumnIndexSupplier(List<NestedPathPart> path)
NestedDataComplexColumnColumnIndexSupplier for a nested field columngetColumnIndexSupplier in class NestedDataComplexColumnpublic boolean isNumeric(List<NestedPathPart> path)
NestedDataComplexColumnTypeSignature.isNumeric(), useful when broadly choosing the
type of vector selector to be used when dealing with the pathisNumeric in class NestedDataComplexColumnCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.