Package org.apache.druid.segment.data
Class CompressedVariableSizedBlobColumnSerializer
- java.lang.Object
-
- org.apache.druid.segment.data.CompressedVariableSizedBlobColumnSerializer
-
- All Implemented Interfaces:
Serializer
public class CompressedVariableSizedBlobColumnSerializer extends Object implements Serializer
-
-
Constructor Summary
Constructors Constructor Description CompressedVariableSizedBlobColumnSerializer(String filenameBase, SegmentWriteOutMedium segmentWriteOutMedium, CompressionStrategy compression)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddValue(byte[] bytes)voidaddValue(ByteBuffer bytes)static StringgetCompressedBlobsFileName(String filenameBase)static StringgetCompressedOffsetsFileName(String filenameBase)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()voidwriteTo(WritableByteChannel channel, FileSmoosher smoosher)Writes the serialized form of this object.
-
-
-
Constructor Detail
-
CompressedVariableSizedBlobColumnSerializer
public CompressedVariableSizedBlobColumnSerializer(String filenameBase, SegmentWriteOutMedium segmentWriteOutMedium, CompressionStrategy compression)
-
-
Method Detail
-
open
public void open() throws IOException- Throws:
IOException
-
addValue
public void addValue(byte[] bytes) throws IOException- Throws:
IOException
-
addValue
public void addValue(ByteBuffer bytes) throws IOException
- 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.java.util.common.io.smoosh.FileSmoosher)call.- Specified by:
getSerializedSizein interfaceSerializer
-
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
-
getCompressedOffsetsFileName
public static String getCompressedOffsetsFileName(String filenameBase)
-
-