Package org.apache.druid.frame.field
Class ComplexFieldReader
- java.lang.Object
-
- org.apache.druid.frame.field.ComplexFieldReader
-
- All Implemented Interfaces:
FieldReader
public class ComplexFieldReader extends Object implements FieldReader
Reads values written byComplexFieldWriter. Format: - 1 byte:ComplexFieldWriter.NULL_BYTEorComplexFieldWriter.NOT_NULL_BYTE- 4 bytes: length of serialized complex value, little-endian int - N bytes: serialized complex value
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ComplexFieldReadercreateFromType(ColumnType columnType)booleanisNull(org.apache.datasketches.memory.Memory memory, long position)Whether the provided memory position points to a null value.ColumnValueSelector<?>makeColumnValueSelector(org.apache.datasketches.memory.Memory memory, ReadableFieldPointer fieldPointer)Create aColumnValueSelectorbacked by some memory and a moveable pointer.DimensionSelectormakeDimensionSelector(org.apache.datasketches.memory.Memory memory, ReadableFieldPointer fieldPointer, ExtractionFn extractionFn)Create aDimensionSelectorbacked by some memory and a moveable pointer.static ObjectreadFieldFromByteArray(ComplexMetricSerde serde, byte[] bytes, int position)Alternative interface to read the field from the byte array without creating a selector and field pointer.static ObjectreadFieldFromMemory(ComplexMetricSerde serde, org.apache.datasketches.memory.Memory memory, long position)Alternative interface to read the field from the memory without creating a selector and field pointer
-
-
-
Method Detail
-
createFromType
public static ComplexFieldReader createFromType(ColumnType columnType)
-
makeColumnValueSelector
public ColumnValueSelector<?> makeColumnValueSelector(org.apache.datasketches.memory.Memory memory, ReadableFieldPointer fieldPointer)
Description copied from interface:FieldReaderCreate aColumnValueSelectorbacked by some memory and a moveable pointer.- Specified by:
makeColumnValueSelectorin interfaceFieldReader
-
makeDimensionSelector
public DimensionSelector makeDimensionSelector(org.apache.datasketches.memory.Memory memory, ReadableFieldPointer fieldPointer, @Nullable ExtractionFn extractionFn)
Description copied from interface:FieldReaderCreate aDimensionSelectorbacked by some memory and a moveable pointer.- Specified by:
makeDimensionSelectorin interfaceFieldReader
-
isNull
public boolean isNull(org.apache.datasketches.memory.Memory memory, long position)Description copied from interface:FieldReaderWhether the provided memory position points to a null value.- Specified by:
isNullin interfaceFieldReader
-
readFieldFromByteArray
@Nullable public static Object readFieldFromByteArray(ComplexMetricSerde serde, byte[] bytes, int position)
Alternative interface to read the field from the byte array without creating a selector and field pointer. It is much faster than wrapping the byte array in Memory for reading.
-
readFieldFromMemory
@Nullable public static Object readFieldFromMemory(ComplexMetricSerde serde, org.apache.datasketches.memory.Memory memory, long position)
Alternative interface to read the field from the memory without creating a selector and field pointer
-
-