Package org.apache.druid.segment
Class LongColumnSerializerV2
java.lang.Object
org.apache.druid.segment.LongColumnSerializerV2
- All Implemented Interfaces:
GenericColumnSerializer<Object>,Serializer
Column Serializer for long column.
The column is serialized in two parts, first a bitmap indicating the nullability of row values
and second the actual row values.
This class is unsafe for concurrent use from multiple threads.
-
Method Summary
Modifier and TypeMethodDescriptionstatic LongColumnSerializerV2create(String columnName, SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, CompressionStrategy compression, CompressionFactory.LongEncodingStrategy encoding, BitmapSerdeFactory bitmapSerdeFactory) 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()voidserialize(ColumnValueSelector<?> selector) voidSerializes a null value at the rowCount position, and increments the current rowCount.voidserializeValue(long val) Serializes a value of val at the rowCount position, and increments the current rowCount.voidwriteTo(WritableByteChannel channel, FileSmoosher smoosher) Writes the serialized form of this object.
-
Method Details
-
create
public static LongColumnSerializerV2 create(String columnName, SegmentWriteOutMedium segmentWriteOutMedium, String filenameBase, CompressionStrategy compression, CompressionFactory.LongEncodingStrategy encoding, BitmapSerdeFactory bitmapSerdeFactory) -
open
- Specified by:
openin interfaceGenericColumnSerializer<Object>- Throws:
IOException
-
serialize
- Specified by:
serializein interfaceGenericColumnSerializer<Object>- Throws:
IOException
-
serializeNull
Serializes a null value at the rowCount position, and increments the current rowCount.- Throws:
IOException
-
serializeValue
Serializes a value of val at the rowCount position, and increments the current rowCount.- Throws:
IOException
-
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
-