@InterfaceAudience.Private public class ByteBufferKeyOnlyKeyValue extends ByteBufferExtendedCell
KeyValue.KeyOnlyKeyValue
with respect to key serialization but have its data in the form of Byte buffer
(onheap and offheap).Modifier and Type | Field and Description |
---|---|
private ByteBuffer |
buf |
static int |
FIXED_OVERHEAD |
private int |
length |
private int |
offset |
private short |
rowLen |
CELL_NOT_BASED_ON_CHUNK
MAX_TAGS_LENGTH
Constructor and Description |
---|
ByteBufferKeyOnlyKeyValue()
Used in cases where we want to avoid lot of garbage by allocating new objects with different
keys.
|
ByteBufferKeyOnlyKeyValue(ByteBuffer buf,
int offset,
int length) |
Modifier and Type | Method and Description |
---|---|
byte[] |
getFamilyArray()
Contiguous bytes composed of legal HDFS filename characters which may start at any index in the
containing array.
|
ByteBuffer |
getFamilyByteBuffer() |
byte |
getFamilyLength() |
private byte |
getFamilyLength(int famLenPos) |
private int |
getFamilyLengthPosition() |
int |
getFamilyOffset() |
int |
getFamilyPosition() |
byte[] |
getQualifierArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getQualifierByteBuffer() |
int |
getQualifierLength() |
private int |
getQualifierLength(int rlength,
int flength) |
int |
getQualifierOffset() |
int |
getQualifierPosition() |
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.
|
Optional<Tag> |
getTag(byte type)
Returns the specific tag of the given type
|
Iterator<Tag> |
getTags()
Creates a list of tags in the current cell
|
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() |
private int |
getTimestampOffset() |
byte |
getTypeByte() |
byte[] |
getValueArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getValueByteBuffer() |
int |
getValueLength() |
int |
getValueOffset() |
int |
getValuePosition() |
long |
heapSize() |
void |
setKey(ByteBuffer key,
int offset,
int length)
A setter that helps to avoid object creation every time and whenever
there is a need to create new OffheapKeyOnlyKeyValue.
|
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() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
deepClone, getChunkId, getSerializedSize, getSerializedSize, write, write
checkForTagsLength, cloneTags
public static final int FIXED_OVERHEAD
private ByteBuffer buf
private int offset
private int length
private short rowLen
public ByteBufferKeyOnlyKeyValue()
setKey(ByteBuffer, int, int)
public ByteBufferKeyOnlyKeyValue(ByteBuffer buf, int offset, int length)
public void setKey(ByteBuffer key, int offset, int length)
key
- offset
- length
- public byte[] getRowArray()
Cell
public int getRowOffset()
public short getRowLength()
public byte[] getFamilyArray()
Cell
public int getFamilyOffset()
public byte getFamilyLength()
private byte getFamilyLength(int famLenPos)
public byte[] getQualifierArray()
Cell
public int getQualifierOffset()
public int getQualifierLength()
private int getQualifierLength(int rlength, int flength)
public long getTimestamp()
private int getTimestampOffset()
public byte getTypeByte()
public void setSequenceId(long seqId) throws IOException
ExtendedCell
seqId
- sequence IDIOException
public void setTimestamp(long ts) throws IOException
ExtendedCell
ts
- timestampIOException
public void setTimestamp(byte[] ts) throws IOException
ExtendedCell
ts
- buffer containing the timestamp valueIOException
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 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 startprivate int getFamilyLengthPosition()
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 startpublic 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 Iterator<Tag> getTags()
RawCell
public Optional<Tag> getTag(byte type)
RawCell
type
- the type of the tagpublic long heapSize()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.