public class SerializablePairLongStringComplexMetricSerde extends ComplexMetricSerde
Future work: dictionary encoding of the String may be performed
The class is used on first/last String aggregators to store the time and the first/last string.
[Integer|Long]:Integer:String -> delta:StringSize:StringData --(delta decoded)--> TimeStamp:StringSize:StringData
(see )
| Modifier and Type | Field and Description |
|---|---|
static int |
EXPECTED_VERSION |
static String |
TYPE_NAME |
| Constructor and Description |
|---|
SerializablePairLongStringComplexMetricSerde() |
SerializablePairLongStringComplexMetricSerde(boolean compressionEnabled) |
| Modifier and Type | Method and Description |
|---|---|
void |
deserializeColumn(ByteBuffer buffer,
ColumnBuilder columnBuilder)
ComplexMetricSerde.deserializeColumn(ByteBuffer, ColumnBuilder, ColumnConfig) should be used instead of this. |
ComplexMetricExtractor<?> |
getExtractor() |
ObjectStrategy<?> |
getObjectStrategy()
This is deprecated because its usage is going to be removed from the code.
|
GenericColumnSerializer<?> |
getSerializer(SegmentWriteOutMedium segmentWriteOutMedium,
String column)
This method provides the ability for a ComplexMetricSerde to control its own serialization.
|
String |
getTypeName() |
deserializeColumn, fromBytes, getTypeStrategy, inputSizeFn, toBytespublic static final int EXPECTED_VERSION
public static final String TYPE_NAME
public SerializablePairLongStringComplexMetricSerde()
public SerializablePairLongStringComplexMetricSerde(boolean compressionEnabled)
public String getTypeName()
getTypeName in class ComplexMetricSerdepublic ComplexMetricExtractor<?> getExtractor()
getExtractor in class ComplexMetricSerdepublic void deserializeColumn(ByteBuffer buffer, ColumnBuilder columnBuilder)
ComplexMetricSerdeComplexMetricSerde.deserializeColumn(ByteBuffer, ColumnBuilder, ColumnConfig) should be used instead of this.
This method is left for backward compatibility.deserializeColumn in class ComplexMetricSerdepublic ObjectStrategy<?> getObjectStrategy()
ComplexMetricSerdeIt was introduced before deserializeColumn() existed. This method creates the assumption that Druid knows how to interpret the actual column representation of the data, but I would much prefer that the ComplexMetricSerde objects be in charge of creating and interpreting the whole column, which is what deserializeColumn lets them do.
getObjectStrategy in class ComplexMetricSerdepublic GenericColumnSerializer<?> getSerializer(SegmentWriteOutMedium segmentWriteOutMedium, String column)
ComplexMetricSerdeInteger.MAX_VALUE) use
LargeColumnSupportedComplexColumnSerializergetSerializer in class ComplexMetricSerdeCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.