int size = WritableUtils.getVIntSize(i); byte [] result = new byte[size]; int offset = 0;
/** * get number of bytes to store the keyBuffer. * * @return number of bytes used to store this KeyBuffer on disk * @throws IOException */ public int getSize() throws IOException { int ret = 0; ret += WritableUtils.getVIntSize(numberRows); for (int i = 0; i < eachColumnValueLen.length; i++) { ret += WritableUtils.getVIntSize(eachColumnValueLen[i]); ret += WritableUtils.getVIntSize(eachColumnUncompressedValueLen[i]); ret += WritableUtils.getVIntSize(allCellValLenBuffer[i].getLength()); ret += allCellValLenBuffer[i].getLength(); } return ret; }
/** * get number of bytes to store the keyBuffer. * * @return number of bytes used to store this KeyBuffer on disk * @throws IOException */ public int getSize() throws IOException { int ret = 0; ret += WritableUtils.getVIntSize(numberRows); for (int i = 0; i < eachColumnValueLen.length; i++) { ret += WritableUtils.getVIntSize(eachColumnValueLen[i]); ret += WritableUtils.getVIntSize(eachColumnUncompressedValueLen[i]); ret += WritableUtils.getVIntSize(allCellValLenBuffer[i].getLength()); ret += allCellValLenBuffer[i].getLength(); } return ret; }
+ WritableUtils.getVIntSize(firstKey.length) + firstKey.length;
public static int lengthWithMvccVersion(final KeyValue kv, final boolean includeMvccVersion) { int length = kv.getLength(); if (includeMvccVersion) { length += WritableUtils.getVIntSize(kv.getSequenceId()); } return length; }
public static void appendToByteBuffer(final ByteBuffer bb, final KeyValue kv, final boolean includeMvccVersion) { // keep pushing the limit out. assume enough capacity bb.limit(bb.position() + kv.getLength()); bb.put(kv.getBuffer(), kv.getOffset(), kv.getLength()); if (includeMvccVersion) { int numMvccVersionBytes = WritableUtils.getVIntSize(kv.getSequenceId()); ByteBufferUtils.extendLimit(bb, numMvccVersionBytes); ByteBufferUtils.writeVLong(bb, kv.getSequenceId()); } }
long memstoreTS = randomizer.nextLong(); kv.setSequenceId(memstoreTS); totalSize += WritableUtils.getVIntSize(memstoreTS);
public int write(Cell cell) throws IOException { // We write tags seperately because though there is no tag in KV // if the hfilecontext says include tags we need the tags length to be // written int size = KeyValueUtil.oswrite(cell, out, false); // Write the additional tag into the stream if (encodingCtx.getHFileContext().isIncludesTags()) { int tagsLength = cell.getTagsLength(); out.writeShort(tagsLength); if (tagsLength > 0) { PrivateCellUtil.writeTags(out, cell, tagsLength); } size += tagsLength + KeyValue.TAGS_LENGTH_SIZE; } if (encodingCtx.getHFileContext().isIncludesMvcc()) { WritableUtils.writeVLong(out, cell.getSequenceId()); size += WritableUtils.getVIntSize(cell.getSequenceId()); } return size; }
private int getVarLengthBytes(int length) { return length + WritableUtils.getVIntSize(length); }
private int getVarLengthBytes(int length) { return length + WritableUtils.getVIntSize(length); }
/** * Convert list of KeyValues to byte buffer. * @param keyValues list of KeyValues to be converted. * @return buffer with content from key values */ public static ByteBuffer convertKvToByteBuffer(List<KeyValue> keyValues, boolean includesMemstoreTS) { int totalSize = 0; for (KeyValue kv : keyValues) { totalSize += kv.getLength(); if (includesMemstoreTS) { totalSize += WritableUtils.getVIntSize(kv.getSequenceId()); } } ByteBuffer result = ByteBuffer.allocate(totalSize); for (KeyValue kv : keyValues) { result.put(kv.getBuffer(), kv.getOffset(), kv.getLength()); if (includesMemstoreTS) { ByteBufferUtils.writeVLong(result, kv.getSequenceId()); } } return result; }
public int getEstimatedByteSize() { int size = 0; size += WritableUtils.getVIntSize(minNullable); size += WritableUtils.getVIntSize(fields.size()); size += fields.size() * 3; return size; }
public int getEstimatedByteSize() { int size = 0; size += WritableUtils.getVIntSize(minNullable); size += WritableUtils.getVIntSize(fields.size()); size += fields.size() * 3; return size; }
size += WritableUtils.getVIntSize(memstoreTS);
public static byte[] serializeVIntArray(int[] intArray, int encodedLength) { int size = WritableUtils.getVIntSize(encodedLength); for (int i = 0; i < intArray.length; i++) { size += WritableUtils.getVIntSize(intArray[i]); } int offset = 0; byte[] out = new byte[size]; offset += ByteUtil.vintToBytes(out, offset, size); for (int i = 0; i < intArray.length; i++) { offset += ByteUtil.vintToBytes(out, offset, intArray[i]); } return out; }
public static byte[] serializeVIntArray(int[] intArray, int encodedLength) { int size = WritableUtils.getVIntSize(encodedLength); for (int i = 0; i < intArray.length; i++) { size += WritableUtils.getVIntSize(intArray[i]); } int offset = 0; byte[] out = new byte[size]; offset += ByteUtil.vintToBytes(out, offset, size); for (int i = 0; i < intArray.length; i++) { offset += ByteUtil.vintToBytes(out, offset, intArray[i]); } return out; }
/** * Helper method to deserialize the key part from a serialized byte array * @param data * @return * @throws IOException */ static ImmutableBytesPtr getKey(byte[] data) throws IOException { DataInputStream input = null; try { input = new DataInputStream(new ByteArrayInputStream(data)); // key length int keyLength = WritableUtils.readVInt(input); int offset = WritableUtils.getVIntSize(keyLength); // key return new ImmutableBytesPtr(data, offset, keyLength); } finally { if (input != null) { input.close(); input = null; } } }
buf.position(buf.position() + WritableUtils.getVIntSize(memstoreTS));
private Tuple advance() throws SQLException { if (offset >= bytes.length) { return next = null; } int resultSize = ByteUtil.vintFromBytes(bytes, offset); offset += WritableUtils.getVIntSize(resultSize); ImmutableBytesWritable value = new ImmutableBytesWritable(bytes,offset,resultSize); offset += resultSize; Tuple result = new ResultTuple(ResultUtil.toResult(value)); return next = result; }
private Tuple advance() throws SQLException { if (offset >= bytes.length) { return next = null; } int resultSize = ByteUtil.vintFromBytes(bytes, offset); offset += WritableUtils.getVIntSize(resultSize); ImmutableBytesWritable value = new ImmutableBytesWritable(bytes,offset,resultSize); offset += resultSize; Tuple result = new ResultTuple(new Result(value)); return next = result; }