Package org.apache.druid.segment.nested
Class VariantColumnSerializer.InternalSerializer
java.lang.Object
org.apache.druid.segment.nested.VariantColumnSerializer.InternalSerializer
- All Implemented Interfaces:
Serializer
- Enclosing class:
- VariantColumnSerializer
Internal serializer used to serialize a
VariantColumn. Encapsulates just the logic to write out the column
to a SegmentFileBuilder without the parts to update the dictionaries themselves, so that it can be reused.
Created by VariantColumnSerializer once it is closed for writes.-
Constructor Summary
ConstructorsConstructorDescriptionInternalSerializer(String columnName, Byte variantTypeSetByte, DictionaryWriter<String> dictionaryWriter, FixedIndexedWriter<Long> longDictionaryWriter, FixedIndexedWriter<Double> doubleDictionaryWriter, FrontCodedIntArrayIndexedWriter arrayDictionaryWriter, SingleValueColumnarIntsSerializer encodedValueSerializer, GenericIndexedWriter<ImmutableBitmap> bitmapIndexWriter, FixedIndexedIntWriter arrayElementDictionaryWriter, GenericIndexedWriter<ImmutableBitmap> arrayElementIndexWriter, DictionaryIdLookup dictionaryIdLookup, boolean writeDictionary) -
Method Summary
Modifier and TypeMethodDescriptionlongReturns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on aSerializer.writeTo(java.nio.channels.WritableByteChannel, org.apache.druid.segment.file.SegmentFileBuilder)call.voidwriteTo(WritableByteChannel channel, SegmentFileBuilder fileBuilder) Writes the serialized form of this object.
-
Constructor Details
-
InternalSerializer
public InternalSerializer(String columnName, Byte variantTypeSetByte, DictionaryWriter<String> dictionaryWriter, FixedIndexedWriter<Long> longDictionaryWriter, FixedIndexedWriter<Double> doubleDictionaryWriter, FrontCodedIntArrayIndexedWriter arrayDictionaryWriter, SingleValueColumnarIntsSerializer encodedValueSerializer, GenericIndexedWriter<ImmutableBitmap> bitmapIndexWriter, FixedIndexedIntWriter arrayElementDictionaryWriter, GenericIndexedWriter<ImmutableBitmap> arrayElementIndexWriter, DictionaryIdLookup dictionaryIdLookup, boolean writeDictionary)
-
-
Method Details
-
getSerializedSize
public long getSerializedSize()Description copied from interface:SerializerReturns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on aSerializer.writeTo(java.nio.channels.WritableByteChannel, org.apache.druid.segment.file.SegmentFileBuilder)call.- Specified by:
getSerializedSizein interfaceSerializer
-
writeTo
Description copied from interface:SerializerWrites the serialized form of this object. The entire object may be written to the provided channel, or the object may be split over the provided channel and files added to the {@link SegmentFileBuilder], where additional channels can be created viaSegmentFileBuilder.addWithChannel(String, long). The latter approach is useful when the serialized form of the object is too large for a single smoosh container. At the time this javadoc was written, the max smoosh container size is limit to the maxByteBuffersize.- Specified by:
writeToin interfaceSerializer- Throws:
IOException
-