public static V3CompressedVSizeColumnarMultiIntsSerializer create( final SegmentWriteOutMedium segmentWriteOutMedium, final String filenameBase, final int maxValue, final CompressionStrategy compression ) { return new V3CompressedVSizeColumnarMultiIntsSerializer( new CompressedColumnarIntsSerializer( segmentWriteOutMedium, filenameBase, CompressedColumnarIntsSupplier.MAX_INTS_IN_BUFFER, IndexIO.BYTE_ORDER, compression ), new CompressedVSizeColumnarIntsSerializer( segmentWriteOutMedium, filenameBase, maxValue, CompressedVSizeColumnarIntsSupplier.maxIntsInBufferForValue(maxValue), IndexIO.BYTE_ORDER, compression ) ); }
private void writeLastOffset() throws IOException { if (!lastOffsetWritten) { offsetWriter.addValue(offset); lastOffsetWritten = true; } } }
@Override public long getSerializedSize() throws IOException { writeLastOffset(); return 1 + offsetWriter.getSerializedSize() + valueWriter.getSerializedSize(); }
CompressedColumnarIntsSerializer writer = new CompressedColumnarIntsSerializer( segmentWriteOutMedium, "test", segmentWriteOutMedium.getCloser() ); writer.open(); for (int val : vals) { writer.addValue(val); long writtenLength = writer.getSerializedSize(); final WriteOutBytes writeOutBytes = segmentWriteOutMedium.makeWriteOutBytes(); writer.writeTo(writeOutBytes, smoosher); smoosher.close();
@Override public void open() throws IOException { offsetWriter.open(); valueWriter.open(); }
@Override public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException { writeLastOffset(); Channels.writeFully(channel, ByteBuffer.wrap(new byte[]{VERSION})); offsetWriter.writeTo(channel, smoosher); valueWriter.writeTo(channel, smoosher); }
@Override public long getSerializedSize() throws IOException { writeEndBuffer(); return metaSerdeHelper.size(this) + flattener.getSerializedSize(); }
CompressedColumnarIntsSerializer writer = new CompressedColumnarIntsSerializer( segmentWriteOutMedium, chunkFactor, writer.open(); for (int val : vals) { writer.addValue(val); final SmooshedWriter channel = smoosher.addWithSmooshedWriter("test", writer.getSerializedSize()); writer.writeTo(channel, smoosher); channel.close(); smoosher.close();
@Override public void open() throws IOException { offsetWriter.open(); valueWriter.open(); }
@Override public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException { writeLastOffset(); Channels.writeFully(channel, ByteBuffer.wrap(new byte[]{VERSION})); offsetWriter.writeTo(channel, smoosher); valueWriter.writeTo(channel, smoosher); }
@Override public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException { writeEndBuffer(); metaSerdeHelper.writeTo(channel, this); flattener.writeTo(channel, smoosher); }
@Override public void addValues(IndexedInts ints) throws IOException { if (lastOffsetWritten) { throw new IllegalStateException("written out already"); } offsetWriter.addValue(offset); int numValues = ints.size(); for (int i = 0; i < numValues; i++) { valueWriter.addValue(ints.get(i)); } offset += numValues; }
CompressedColumnarIntsSerializer offsetWriter = new CompressedColumnarIntsSerializer( segmentWriteOutMedium, "offset",
@Override public long getSerializedSize() throws IOException { writeLastOffset(); return 1 + offsetWriter.getSerializedSize() + valueWriter.getSerializedSize(); }
@Override public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException { writeEndBuffer(); metaSerdeHelper.writeTo(channel, this); flattener.writeTo(channel, smoosher); }
private void writeLastOffset() throws IOException { if (!lastOffsetWritten) { offsetWriter.addValue(offset); lastOffsetWritten = true; } } }
CompressedColumnarIntsSerializer offsetWriter = new CompressedColumnarIntsSerializer( segmentWriteOutMedium, offsetChunkFactor,
@Override public long getSerializedSize() throws IOException { writeEndBuffer(); return metaSerdeHelper.size(this) + flattener.getSerializedSize(); }
@Override public void addValues(IndexedInts ints) throws IOException { if (lastOffsetWritten) { throw new IllegalStateException("written out already"); } offsetWriter.addValue(offset); int numValues = ints.size(); for (int i = 0; i < numValues; i++) { valueWriter.addValue(ints.get(i)); } offset += numValues; }
public static V3CompressedVSizeColumnarMultiIntsSerializer create( final SegmentWriteOutMedium segmentWriteOutMedium, final String filenameBase, final int maxValue, final CompressionStrategy compression ) { return new V3CompressedVSizeColumnarMultiIntsSerializer( new CompressedColumnarIntsSerializer( segmentWriteOutMedium, filenameBase, CompressedColumnarIntsSupplier.MAX_INTS_IN_BUFFER, IndexIO.BYTE_ORDER, compression ), new CompressedVSizeColumnarIntsSerializer( segmentWriteOutMedium, filenameBase, maxValue, CompressedVSizeColumnarIntsSupplier.maxIntsInBufferForValue(maxValue), IndexIO.BYTE_ORDER, compression ) ); }