@Override public Deserializer getDeserializer() { return (buffer, builder, columnConfig) -> { int offset = buffer.getInt(); int initialPos = buffer.position(); final CompressedColumnarLongsSupplier column = CompressedColumnarLongsSupplier.fromByteBuffer( buffer, byteOrder ); buffer.position(initialPos + offset); final ImmutableBitmap bitmap; if (buffer.hasRemaining()) { bitmap = bitmapSerdeFactory.getObjectStrategy().fromByteBufferWithSize(buffer); } else { bitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyImmutableBitmap(); } builder.setType(ValueType.LONG) .setHasMultipleValues(false) .setNumericColumnSupplier(new LongNumericColumnSupplier(column, bitmap)); }; } }
public BitmapCreationBenchmark(Class<? extends BitmapSerdeFactory> clazz) throws IllegalAccessException, InstantiationException { BitmapSerdeFactory serdeFactory = clazz.newInstance(); factory = serdeFactory.getBitmapFactory(); }
byte[] bytes = bitmapSerdeFactory.getObjectStrategy().toBytes(bitmap); if (bytes != null) { jg.writeBinary(bytes);
@Override public ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset) { return column.makeColumnValueSelector(offset, IndexIO.LEGACY_FACTORY.getBitmapFactory().makeEmptyImmutableBitmap()); }
@Override public BitmapIndex getBitmapIndex(String dimension) { return new BitmapIndexColumnPartSupplier( factory, GenericIndexed.fromIterable(Collections.singletonList(foo1BitMap), serdeFactory.getObjectStrategy()), GenericIndexed.fromIterable(Collections.singletonList("foo1"), GenericIndexed.STRING_STRATEGY) ).get(); }
@Override public Deserializer getDeserializer() { return (buffer, builder, columnConfig) -> { int offset = buffer.getInt(); int initialPos = buffer.position(); final CompressedColumnarFloatsSupplier column = CompressedColumnarFloatsSupplier.fromByteBuffer( buffer, byteOrder ); buffer.position(initialPos + offset); final ImmutableBitmap bitmap; if (buffer.hasRemaining()) { bitmap = bitmapSerdeFactory.getObjectStrategy().fromByteBufferWithSize(buffer); } else { bitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyImmutableBitmap(); } builder.setType(ValueType.FLOAT) .setHasMultipleValues(false) .setNumericColumnSupplier(new FloatNumericColumnSupplier(column, bitmap)); }; } }
@Override public ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset) { return column.makeColumnValueSelector(offset, IndexIO.LEGACY_FACTORY.getBitmapFactory().makeEmptyImmutableBitmap()); }
serdeFactory.getObjectStrategy() ), dictionary
@Override public Deserializer getDeserializer() { return (buffer, builder, columnConfig) -> { int offset = buffer.getInt(); int initialPos = buffer.position(); final Supplier<ColumnarDoubles> column = CompressedColumnarDoublesSuppliers.fromByteBuffer( buffer, byteOrder ); buffer.position(initialPos + offset); final ImmutableBitmap bitmap; if (buffer.hasRemaining()) { bitmap = bitmapSerdeFactory.getObjectStrategy().fromByteBufferWithSize(buffer); } else { bitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyImmutableBitmap(); } builder.setType(ValueType.DOUBLE) .setHasMultipleValues(false) .setNumericColumnSupplier(new DoubleNumericColumnSupplier(column, bitmap)); }; } }
@Override public ColumnValueSelector<?> makeColumnValueSelector(ReadableOffset offset) { return column.makeColumnValueSelector(offset, IndexIO.LEGACY_FACTORY.getBitmapFactory().makeEmptyImmutableBitmap()); }
serdeFactory.getObjectStrategy() ), dictionary
@Override public void open() throws IOException { writer = CompressionFactory.getDoubleSerializer( segmentWriteOutMedium, StringUtils.format("%s.double_column", filenameBase), byteOrder, compression ); writer.open(); nullValueBitmapWriter = new ByteBufferWriter<>( segmentWriteOutMedium, bitmapSerdeFactory.getObjectStrategy() ); nullValueBitmapWriter.open(); nullRowsBitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyMutableBitmap(); }
public StringDimensionMergerV9( String dimensionName, IndexSpec indexSpec, SegmentWriteOutMedium segmentWriteOutMedium, ColumnCapabilities capabilities, ProgressIndicator progress, Closer closer ) { this.dimensionName = dimensionName; this.indexSpec = indexSpec; this.capabilities = capabilities; this.segmentWriteOutMedium = segmentWriteOutMedium; nullRowsBitmap = indexSpec.getBitmapSerdeFactory().getBitmapFactory().makeEmptyMutableBitmap(); this.progress = progress; this.closer = closer; }
serdeFactory.getObjectStrategy() ), dictionary
@Override public void open() throws IOException { writer = CompressionFactory.getFloatSerializer( segmentWriteOutMedium, StringUtils.format("%s.float_column", filenameBase), byteOrder, compression ); writer.open(); nullValueBitmapWriter = new ByteBufferWriter<>( segmentWriteOutMedium, bitmapSerdeFactory.getObjectStrategy() ); nullValueBitmapWriter.open(); nullRowsBitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyMutableBitmap(); }
@Override public long getSerializedSize() throws IOException { nullValueBitmapWriter.write(bitmapSerdeFactory.getBitmapFactory().makeImmutableBitmap(nullRowsBitmap)); long bitmapSize = nullRowsBitmap.isEmpty() ? 0L : nullValueBitmapWriter.getSerializedSize(); return Integer.BYTES + writer.getSerializedSize() + bitmapSize; }
byte[] bytes = bitmapSerdeFactory.getObjectStrategy().toBytes(bitmap); if (bytes != null) { jg.writeBinary(bytes);
@Override public void open() throws IOException { writer = CompressionFactory.getLongSerializer( segmentWriteOutMedium, StringUtils.format("%s.long_column", filenameBase), byteOrder, encoding, compression ); writer.open(); nullValueBitmapWriter = new ByteBufferWriter<>( segmentWriteOutMedium, bitmapSerdeFactory.getObjectStrategy() ); nullValueBitmapWriter.open(); nullRowsBitmap = bitmapSerdeFactory.getBitmapFactory().makeEmptyMutableBitmap(); }
@Override public long getSerializedSize() throws IOException { nullValueBitmapWriter.write(bitmapSerdeFactory.getBitmapFactory().makeImmutableBitmap(nullRowsBitmap)); long bitmapSize = nullRowsBitmap.isEmpty() ? 0L : nullValueBitmapWriter.getSerializedSize(); return Integer.BYTES + writer.getSerializedSize() + bitmapSize; }
bitmaps.put( serializerUtils.readString(invertedBuffer), GenericIndexed.read(invertedBuffer, bitmapSerdeFactory.getObjectStrategy()) ); spatialIndexed.put( serializerUtils.readString(spatialBuffer), new ImmutableRTreeObjectStrategy(bitmapSerdeFactory.getBitmapFactory()).fromByteBufferWithSize( spatialBuffer