final File valuesFile = new File(path, "values.bin"); final Iterator<Generation.Entry<K,V>> iterator = mergeIterators(generations, keyComparator); final BlockCompressedRecordFile.Writer<V> writer = BlockCompressedRecordFile.Writer.open(valuesFile, valueSerializer, codec, 16384, 10, 6); final Iterator<Generation.Entry<K,Long>> keyAddressIterator = new Iterator<Generation.Entry<K,Long>>() { final long start = System.nanoTime(); ImmutableBTreeIndex.Writer.write(path, keyAddressIterator, keySerializer, longSerializer, 65536, hasDeletions); writer.close(); log.info("write b tree time: "+(System.nanoTime()-start)/1000d+" us"); if (useBloomFilter) {
private RecordFile.Writer createWriter(int segmentNum) throws IOException { currentWriterPath = new File(tmpPath, String.valueOf(segmentNum)+".rec"); return BlockCompressedRecordFile.Writer.open(currentWriterPath, serializer, codec, blockSize, recordIndexBits, padBits); }
public static <E> Writer<E> open(File file, Serializer<E> serializer, CompressionCodec codec, int blockSize, int recordIndexBits, int padBits) throws FileNotFoundException { final SyncableDataOutput out = new BufferedFileDataOutputStream(file, ByteOrder.BIG_ENDIAN, 16384); return new Writer<E>(out, serializer, codec, blockSize, recordIndexBits, padBits); }
private RecordFile.Writer createWriter(int segmentNum) throws IOException { currentWriterPath = new File(tmpPath, String.valueOf(segmentNum)+".rec"); return BlockCompressedRecordFile.Writer.open(currentWriterPath, serializer, codec, blockSize, recordIndexBits, padBits); }
public static <E> Writer<E> open(File file, Serializer<E> serializer, CompressionCodec codec, int blockSize, int recordIndexBits, int padBits) throws FileNotFoundException { final SyncableDataOutput out = new BufferedFileDataOutputStream(file, ByteOrder.BIG_ENDIAN, 16384); return new Writer<E>(out, serializer, codec, blockSize, recordIndexBits, padBits); }
public void close() throws IOException { if (numRecords > 0) { flushBuffer(); } out.writeInt(Integer.MAX_VALUE); out.writeLong(out.position() + 8); out.sync(); out.close(); }
public long append(final E entry) throws IOException { if ((currentBlockBytes.size() >= blockSize && numRecords > 0) || numRecords == lengthBuffer.length) { flushBuffer(); } final int start = currentBlockBytes.size(); serializer.write(entry, currentBlockOut); final int length = (currentBlockBytes.size()-start); lengthBuffer[numRecords] = length; final long ret = blockAddress+numRecords; numRecords++; return ret; }
@Override public void sync() throws IOException { if (numRecords > 0) flushBuffer(); out.sync(); }
public void close(byte[] metadata) throws IOException { if (numRecords > 0) { flushBuffer(); } out.writeInt(Integer.MAX_VALUE); out.write(metadata); out.writeInt(metadata.length); out.writeLong(out.position() + 8); out.sync(); out.close(); }
public void close(byte[] metadata) throws IOException { if (numRecords > 0) { flushBuffer(); } out.writeInt(Integer.MAX_VALUE); out.write(metadata); out.writeInt(metadata.length); out.writeLong(out.position() + 8); out.sync(); out.close(); }
public void close() throws IOException { if (numRecords > 0) { flushBuffer(); } out.writeInt(Integer.MAX_VALUE); out.writeLong(out.position() + 8); out.sync(); out.close(); }
public Writer<E> build() throws IOException { if (codec == null) { codec = new SnappyCodec(); } return Writer.open(file, serializer, codec, blockSize, recordIndexBits, padBits); } }
public Writer<E> build() throws IOException { if (codec == null) { codec = new SnappyCodec(); } return Writer.open(file, serializer, codec, blockSize, recordIndexBits, padBits); } }
@Override public void sync() throws IOException { if (numRecords > 0) flushBuffer(); out.sync(); }
public long append(final E entry) throws IOException { if ((currentBlockBytes.size() >= blockSize && numRecords > 0) || numRecords == lengthBuffer.length) { flushBuffer(); } final int start = currentBlockBytes.size(); serializer.write(entry, currentBlockOut); final int length = (currentBlockBytes.size()-start); lengthBuffer[numRecords] = length; final long ret = blockAddress+numRecords; numRecords++; return ret; }