Package org.apache.druid.segment.data
Class IntermediateColumnarLongsSerializer
java.lang.Object
org.apache.druid.segment.data.IntermediateColumnarLongsSerializer
- All Implemented Interfaces:
ColumnarLongsSerializer,Serializer
Serializer that chooses optimal
ColumnarLongs format dymamically, based on the values being written.
Unsafe for concurrent use from multiple threads.-
Method Summary
Modifier and TypeMethodDescriptionvoidadd(long value) 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.java.util.common.io.smoosh.FileSmoosher)call.voidopen()intsize()voidwriteTo(WritableByteChannel channel, FileSmoosher smoosher) Writes the serialized form of this object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.segment.data.ColumnarLongsSerializer
addAll
-
Method Details
-
open
public void open()- Specified by:
openin interfaceColumnarLongsSerializer
-
size
public int size()- Specified by:
sizein interfaceColumnarLongsSerializer
-
add
public void add(long value) - Specified by:
addin interfaceColumnarLongsSerializer
-
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.java.util.common.io.smoosh.FileSmoosher)call.- Specified by:
getSerializedSizein interfaceSerializer- Throws:
IOException
-
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 thewhere additional channels can be created viainvalid @link
{@link FileSmoosher],FileSmoosher.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
-