Package org.apache.druid.segment.serde
Class LargeColumnSupportedComplexColumnSerializer<T>
java.lang.Object
org.apache.druid.segment.serde.LargeColumnSupportedComplexColumnSerializer<T>
- All Implemented Interfaces:
GenericColumnSerializer<T>,Serializer
public class LargeColumnSupportedComplexColumnSerializer<T>
extends Object
implements GenericColumnSerializer<T>
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> LargeColumnSupportedComplexColumnSerializer<T>create(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy) static <T> LargeColumnSupportedComplexColumnSerializer<T>createWithColumnSize(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy, int columnSize) longReturns 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.voidopen()voidserialize(ColumnValueSelector<? extends T> selector) voidwriteTo(WritableByteChannel channel, SegmentFileBuilder fileBuilder) Writes the serialized form of this object.
-
Method Details
-
create
public static <T> LargeColumnSupportedComplexColumnSerializer<T> create(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy) -
createWithColumnSize
public static <T> LargeColumnSupportedComplexColumnSerializer<T> createWithColumnSize(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy, int columnSize) -
open
- Specified by:
openin interfaceGenericColumnSerializer<T>- Throws:
IOException
-
serialize
- Specified by:
serializein interfaceGenericColumnSerializer<T>- Throws:
IOException
-
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
-