@InterfaceAudience.Private public class ByteBufferKeyValue extends ByteBufferExtendedCell
ByteBufferExtendedCell
where the data resides in
off heap/ on heap ByteBufferModifier and Type | Field and Description |
---|---|
protected ByteBuffer |
buf |
static int |
FIXED_OVERHEAD |
protected int |
length |
protected int |
offset |
private long |
seqId |
CELL_NOT_BASED_ON_CHUNK
MAX_TAGS_LENGTH
Constructor and Description |
---|
ByteBufferKeyValue(ByteBuffer buf,
int offset,
int length) |
ByteBufferKeyValue(ByteBuffer buf,
int offset,
int length,
long seqId) |
Modifier and Type | Method and Description |
---|---|
private int |
calculateHashForKey(ByteBufferExtendedCell cell) |
ExtendedCell |
deepClone()
Does a deep copy of the contents to a new memory area and returns it as a new cell.
|
boolean |
equals(Object other)
Needed doing 'contains' on List.
|
ByteBuffer |
getBuffer() |
byte[] |
getFamilyArray()
Contiguous bytes composed of legal HDFS filename characters which may start at any index in the
containing array.
|
ByteBuffer |
getFamilyByteBuffer() |
byte |
getFamilyLength() |
(package private) byte |
getFamilyLength(int famLenPos) |
(package private) int |
getFamilyLengthPosition() |
(package private) int |
getFamilyLengthPosition(int rowLength) |
int |
getFamilyOffset() |
int |
getFamilyPosition() |
int |
getFamilyPosition(int familyLengthPosition) |
(package private) int |
getKeyLength() |
int |
getOffset() |
byte[] |
getQualifierArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getQualifierByteBuffer() |
int |
getQualifierLength() |
(package private) int |
getQualifierLength(int keyLength,
int rlength,
int flength) |
int |
getQualifierOffset() |
int |
getQualifierPosition() |
(package private) int |
getQualifierPosition(int familyPosition,
int familyLength) |
byte[] |
getRowArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getRowByteBuffer() |
short |
getRowLength() |
int |
getRowOffset() |
int |
getRowPosition() |
long |
getSequenceId()
A region-specific unique monotonically increasing sequence ID given to each Cell.
|
int |
getSerializedSize(boolean withTags) |
byte[] |
getTagsArray()
Contiguous raw bytes representing tags that may start at any index in the containing array.
|
ByteBuffer |
getTagsByteBuffer() |
int |
getTagsLength()
HBase internally uses 2 bytes to store tags length in Cell.
|
int |
getTagsOffset() |
int |
getTagsPosition() |
long |
getTimestamp() |
(package private) long |
getTimestamp(int keyLength) |
private int |
getTimestampOffset() |
private int |
getTimestampOffset(int keyLen) |
byte |
getTypeByte() |
(package private) byte |
getTypeByte(int keyLen) |
byte[] |
getValueArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getValueByteBuffer() |
int |
getValueLength() |
int |
getValueOffset() |
int |
getValuePosition() |
int |
hashCode()
In line with
equals(Object) , only uses the key portion, not the value. |
long |
heapSize() |
void |
setSequenceId(long seqId)
Sets with the given seqId.
|
void |
setTimestamp(byte[] ts)
Sets with the given timestamp.
|
void |
setTimestamp(long ts)
Sets with the given timestamp.
|
String |
toString() |
void |
write(ByteBuffer buf,
int offset)
Write this Cell into the given buf's offset in a
KeyValue format. |
int |
write(OutputStream out,
boolean withTags)
Write this cell to an OutputStream in a
KeyValue format. |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getChunkId, getSerializedSize
checkForTagsLength, cloneTags, getTag, getTags
protected final ByteBuffer buf
protected final int offset
protected final int length
private long seqId
public static final int FIXED_OVERHEAD
public ByteBufferKeyValue(ByteBuffer buf, int offset, int length, long seqId)
public ByteBufferKeyValue(ByteBuffer buf, int offset, int length)
public ByteBuffer getBuffer()
public int getOffset()
public byte[] getRowArray()
Cell
public int getRowOffset()
public short getRowLength()
public byte[] getFamilyArray()
Cell
public int getFamilyOffset()
public byte getFamilyLength()
int getFamilyLengthPosition()
int getFamilyLengthPosition(int rowLength)
byte getFamilyLength(int famLenPos)
public byte[] getQualifierArray()
Cell
public int getQualifierOffset()
public int getQualifierLength()
int getQualifierLength(int keyLength, int rlength, int flength)
public long getTimestamp()
long getTimestamp(int keyLength)
int getKeyLength()
private int getTimestampOffset(int keyLen)
public byte getTypeByte()
byte getTypeByte(int keyLen)
public long getSequenceId()
ExtendedCell
HConstants.KEEP_SEQID_PERIOD
days, but generally becomes irrelevant after the cell's
row is no longer involved in any operations that require strict consistency.public void setSequenceId(long seqId)
ExtendedCell
seqId
- sequence IDpublic byte[] getValueArray()
Cell
public int getValueOffset()
public int getValueLength()
public byte[] getTagsArray()
ExtendedCell
public int getTagsOffset()
public int getTagsLength()
ExtendedCell
public ByteBuffer getRowByteBuffer()
getRowByteBuffer
in class ByteBufferExtendedCell
ByteBuffer
containing the row bytes.public int getRowPosition()
getRowPosition
in class ByteBufferExtendedCell
ByteBuffer
where row bytes startpublic ByteBuffer getFamilyByteBuffer()
getFamilyByteBuffer
in class ByteBufferExtendedCell
ByteBuffer
containing the column family bytes.public int getFamilyPosition()
getFamilyPosition
in class ByteBufferExtendedCell
ByteBuffer
where column family bytes startpublic int getFamilyPosition(int familyLengthPosition)
public ByteBuffer getQualifierByteBuffer()
getQualifierByteBuffer
in class ByteBufferExtendedCell
ByteBuffer
containing the column qualifier bytes.public int getQualifierPosition()
getQualifierPosition
in class ByteBufferExtendedCell
ByteBuffer
where column qualifier bytes startint getQualifierPosition(int familyPosition, int familyLength)
public ByteBuffer getValueByteBuffer()
getValueByteBuffer
in class ByteBufferExtendedCell
ByteBuffer
containing the value bytes.public int getValuePosition()
getValuePosition
in class ByteBufferExtendedCell
ByteBuffer
where value bytes startpublic ByteBuffer getTagsByteBuffer()
getTagsByteBuffer
in class ByteBufferExtendedCell
ByteBuffer
containing the tag bytes.public int getTagsPosition()
getTagsPosition
in class ByteBufferExtendedCell
ByteBuffer
where tag bytes startpublic long heapSize()
public int write(OutputStream out, boolean withTags) throws IOException
ExtendedCell
KeyValue
format.
<4 bytes keylength> <4 bytes valuelength> <2 bytes rowlength>
<row> <1 byte columnfamilylength> <columnfamily> <columnqualifier>
<8 bytes timestamp> <1 byte keytype> <value> <2 bytes tagslength>
<tags>
out
- Stream to which cell has to be writtenwithTags
- Whether to write tags.IOException
public int getSerializedSize(boolean withTags)
withTags
- Whether to write tags.KeyValue
format.
<4 bytes keylength> <4 bytes valuelength> <2 bytes rowlength>
<row> <1 byte columnfamilylength> <columnfamily> <columnqualifier>
<8 bytes timestamp> <1 byte keytype> <value> <2 bytes tagslength>
<tags>
public void write(ByteBuffer buf, int offset)
ExtendedCell
KeyValue
format.buf
- The buffer where to write the Cell.offset
- The offset within buffer, to write the Cell.public void setTimestamp(long ts) throws IOException
ExtendedCell
ts
- timestampIOException
private int getTimestampOffset()
public void setTimestamp(byte[] ts) throws IOException
ExtendedCell
ts
- buffer containing the timestamp valueIOException
public ExtendedCell deepClone()
ExtendedCell
public boolean equals(Object other)
public int hashCode()
equals(Object)
, only uses the key portion, not the value.private int calculateHashForKey(ByteBufferExtendedCell cell)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.