@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).限定符和类型 | 字段和说明 |
---|---|
static int |
FIXED_OVERHEAD |
CELL_NOT_BASED_ON_CHUNK
MAX_TAGS_LENGTH
构造器和说明 |
---|
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) |
限定符和类型 | 方法和说明 |
---|---|
byte[] |
getFamilyArray()
Contiguous bytes composed of legal HDFS filename characters which may start at any index in the
containing array.
|
ByteBuffer |
getFamilyByteBuffer() |
byte |
getFamilyLength() |
int |
getFamilyOffset() |
int |
getFamilyPosition() |
byte[] |
getQualifierArray()
Contiguous raw bytes that may start at any index in the containing array.
|
ByteBuffer |
getQualifierByteBuffer() |
int |
getQualifierLength() |
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() |
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 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()
public byte[] getQualifierArray()
Cell
public int getQualifierOffset()
public int getQualifierLength()
public long getTimestamp()
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
在类中 ByteBufferExtendedCell
ByteBuffer
containing the row bytes.public int getRowPosition()
getRowPosition
在类中 ByteBufferExtendedCell
ByteBuffer
where row bytes startpublic ByteBuffer getFamilyByteBuffer()
getFamilyByteBuffer
在类中 ByteBufferExtendedCell
ByteBuffer
containing the column family bytes.public int getFamilyPosition()
getFamilyPosition
在类中 ByteBufferExtendedCell
ByteBuffer
where column family bytes startpublic ByteBuffer getQualifierByteBuffer()
getQualifierByteBuffer
在类中 ByteBufferExtendedCell
ByteBuffer
containing the column qualifier bytes.public int getQualifierPosition()
getQualifierPosition
在类中 ByteBufferExtendedCell
ByteBuffer
where column qualifier bytes startpublic ByteBuffer getValueByteBuffer()
getValueByteBuffer
在类中 ByteBufferExtendedCell
ByteBuffer
containing the value bytes.public int getValuePosition()
getValuePosition
在类中 ByteBufferExtendedCell
ByteBuffer
where value bytes startpublic ByteBuffer getTagsByteBuffer()
getTagsByteBuffer
在类中 ByteBufferExtendedCell
ByteBuffer
containing the tag bytes.public int getTagsPosition()
getTagsPosition
在类中 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–2019 The Apache Software Foundation. All rights reserved.