Package org.apache.druid.segment.serde
Class CompressedComplexColumnSerializer<T>
- java.lang.Object
-
- org.apache.druid.segment.serde.CompressedComplexColumnSerializer<T>
-
- All Implemented Interfaces:
GenericColumnSerializer<T>,Serializer
public class CompressedComplexColumnSerializer<T> extends Object implements GenericColumnSerializer<T>
-
-
Field Summary
Fields Modifier and Type Field Description static StringFILE_NAMEstatic byteIS_COMPRESSEDstatic byteV0
-
Constructor Summary
Constructors Constructor Description CompressedComplexColumnSerializer(String name, SegmentWriteOutMedium segmentWriteOutMedium, IndexSpec indexSpec, ObjectStrategy<T> strategy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GenericColumnSerializercreate(SegmentWriteOutMedium segmentWriteOutMedium, String column, IndexSpec indexSpec, ObjectStrategy objectStrategy)longgetSerializedSize()Returns 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.java.util.common.io.smoosh.FileSmoosher)call.voidopen()voidserialize(ColumnValueSelector<? extends T> selector)voidwriteTo(WritableByteChannel channel, FileSmoosher smoosher)Writes the serialized form of this object.
-
-
-
Field Detail
-
IS_COMPRESSED
public static final byte IS_COMPRESSED
- See Also:
- Constant Field Values
-
V0
public static final byte V0
- See Also:
- Constant Field Values
-
FILE_NAME
public static final String FILE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CompressedComplexColumnSerializer
public CompressedComplexColumnSerializer(String name, SegmentWriteOutMedium segmentWriteOutMedium, IndexSpec indexSpec, ObjectStrategy<T> strategy)
-
-
Method Detail
-
create
public static GenericColumnSerializer create(SegmentWriteOutMedium segmentWriteOutMedium, String column, IndexSpec indexSpec, ObjectStrategy objectStrategy)
-
open
public void open() throws IOException- Specified by:
openin interfaceGenericColumnSerializer<T>- Throws:
IOException
-
serialize
public void serialize(ColumnValueSelector<? extends T> selector) throws IOException
- Specified by:
serializein interfaceGenericColumnSerializer<T>- Throws:
IOException
-
getSerializedSize
public long getSerializedSize() throws IOExceptionDescription 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.java.util.common.io.smoosh.FileSmoosher)call.- Specified by:
getSerializedSizein interfaceSerializer- Throws:
IOException
-
writeTo
public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException
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 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.- Specified by:
writeToin interfaceSerializer- Throws:
IOException
-
-