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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> LargeColumnSupportedComplexColumnSerializer<T>
create(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy)
static <T> LargeColumnSupportedComplexColumnSerializer<T>
createWithColumnSize(SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, ObjectStrategy strategy, int columnSize)
long
getSerializedSize()
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.void
open()
void
serialize(ColumnValueSelector<? extends T> selector)
void
writeTo(WritableByteChannel channel, FileSmoosher smoosher)
Writes the serialized form of this object.
-
-
-
Method Detail
-
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
public void open() throws IOException
- Specified by:
open
in interfaceGenericColumnSerializer<T>
- Throws:
IOException
-
serialize
public void serialize(ColumnValueSelector<? extends T> selector) throws IOException
- Specified by:
serialize
in interfaceGenericColumnSerializer<T>
- Throws:
IOException
-
getSerializedSize
public long getSerializedSize()
Description copied from interface:Serializer
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.- Specified by:
getSerializedSize
in interfaceSerializer
-
writeTo
public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException
Description copied from interface:Serializer
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 maxByteBuffer
size.- Specified by:
writeTo
in interfaceSerializer
- Throws:
IOException
-
-