Package org.apache.druid.segment.serde
Interface Serializer
-
- All Known Subinterfaces:
ColumnarDoublesSerializer,ColumnarFloatsSerializer,ColumnarIntsSerializer,ColumnarLongsSerializer,DictionaryWriter<T>,GenericColumnSerializer<T>,WritableSupplier<T>
- All Known Implementing Classes:
AbstractSerializablePairLongObjectBufferStore.TransferredBuffer,AbstractSerializablePairLongObjectColumnSerializer,BlockCompressedPayloadSerializer,BlockCompressedPayloadWriter,BlockLayoutColumnarDoublesSerializer,BlockLayoutColumnarFloatsSerializer,BlockLayoutColumnarLongsSerializer,ByteBufferWriter,CellIndexWriter,CellWriter,ColumnarMultiIntsSerializer,ColumnDescriptor,ComplexColumnSerializer,CompressedBlockSerializer,CompressedColumnarFloatsSupplier,CompressedColumnarIntsSerializer,CompressedColumnarIntsSupplier,CompressedColumnarLongsSupplier,CompressedComplexColumnSerializer,CompressedLongsSerializer,CompressedVariableSizedBlobColumnSerializer,CompressedVSizeColumnarIntsSerializer,CompressedVSizeColumnarIntsSupplier,CompressedVSizeColumnarMultiIntsSupplier,DictionaryEncodedColumnMerger.IdConversionSerializer,DoubleColumnSerializer,DoubleColumnSerializerV2,EncodedStringDictionaryWriter,EntireLayoutColumnarDoublesSerializer,EntireLayoutColumnarFloatsSerializer,EntireLayoutColumnarLongsSerializer,FieldTypeInfo.Writer,FixedIndexedIntWriter,FixedIndexedWriter,FloatColumnSerializer,FloatColumnSerializerV2,FrontCodedIndexedWriter,FrontCodedIntArrayIndexedWriter,GenericIndexed,GenericIndexedWriter,IntermediateColumnarLongsSerializer,LargeColumnSupportedComplexColumnSerializer,LongColumnSerializer,LongColumnSerializerV2,NestedCommonFormatColumnSerializer,NestedDataColumnSerializer,NestedDataColumnSerializerV4,ScalarDoubleColumnSerializer,ScalarLongColumnSerializer,ScalarNestedCommonFormatColumnSerializer,ScalarStringColumnSerializer,SerializablePairLongDoubleColumnSerializer,SerializablePairLongFloatColumnSerializer,SerializablePairLongLongColumnSerializer,SerializablePairLongStringColumnSerializer,SingleValueColumnarIntsSerializer,V3CompressedVSizeColumnarMultiIntsSerializer,V3CompressedVSizeColumnarMultiIntsSupplier,VariantColumnSerializer,VariantColumnSerializer.InternalSerializer,VSizeColumnarInts,VSizeColumnarIntsSerializer,VSizeColumnarMultiInts,VSizeColumnarMultiIntsSerializer
public interface SerializerMain interface for "serializeable something" in Druid segment serialization.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description longgetSerializedSize()Returns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on awriteTo(java.nio.channels.WritableByteChannel, org.apache.druid.java.util.common.io.smoosh.FileSmoosher)call.voidwriteTo(WritableByteChannel channel, FileSmoosher smoosher)Writes the serialized form of this object.
-
-
-
Method Detail
-
getSerializedSize
long getSerializedSize() throws IOExceptionReturns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on awriteTo(java.nio.channels.WritableByteChannel, org.apache.druid.java.util.common.io.smoosh.FileSmoosher)call.- Throws:
IOException
-
writeTo
void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException
Writes 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 FileSmoosher], where additional channels can be created viaFileSmoosher.addWithSmooshedWriter(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.- Throws:
IOException
-
-