@InterfaceAudience.Private public class ByteBufferKeyValue extends ByteBufferExtendedCell
ByteBufferExtendedCell where the data resides in
off heap/ on heap ByteBuffer| 限定符和类型 | 字段和说明 |
|---|---|
protected ByteBuffer |
buf |
static int |
FIXED_OVERHEAD |
protected int |
length |
protected int |
offset |
CELL_NOT_BASED_ON_CHUNKMAX_TAGS_LENGTH| 构造器和说明 |
|---|
ByteBufferKeyValue(ByteBuffer buf,
int offset,
int length) |
ByteBufferKeyValue(ByteBuffer buf,
int offset,
int length,
long seqId) |
| 限定符和类型 | 方法和说明 |
|---|---|
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() |
int |
getFamilyOffset() |
int |
getFamilyPosition() |
int |
getFamilyPosition(int familyLengthPosition) |
int |
getOffset() |
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.
|
int |
getSerializedSize() |
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() |
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() |
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. |
getChunkIdcheckForTagsLength, cloneTags, getTag, getTagsprotected final ByteBuffer buf
protected final int offset
protected final int length
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()
Cellpublic int getRowOffset()
public short getRowLength()
public byte[] getFamilyArray()
Cellpublic int getFamilyOffset()
public byte getFamilyLength()
public byte[] getQualifierArray()
Cellpublic int getQualifierOffset()
public int getQualifierLength()
public long getTimestamp()
public byte getTypeByte()
public long getSequenceId()
ExtendedCellHConstants.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)
ExtendedCellseqId - sequence IDpublic byte[] getValueArray()
Cellpublic int getValueOffset()
public int getValueLength()
public byte[] getTagsArray()
ExtendedCellpublic int getTagsOffset()
public int getTagsLength()
ExtendedCellpublic ByteBuffer getRowByteBuffer()
getRowByteBuffer 在类中 ByteBufferExtendedCellByteBuffer containing the row bytes.public int getRowPosition()
getRowPosition 在类中 ByteBufferExtendedCellByteBuffer where row bytes startpublic ByteBuffer getFamilyByteBuffer()
getFamilyByteBuffer 在类中 ByteBufferExtendedCellByteBuffer containing the column family bytes.public int getFamilyPosition()
getFamilyPosition 在类中 ByteBufferExtendedCellByteBuffer where column family bytes startpublic int getFamilyPosition(int familyLengthPosition)
public ByteBuffer getQualifierByteBuffer()
getQualifierByteBuffer 在类中 ByteBufferExtendedCellByteBuffer containing the column qualifier bytes.public int getQualifierPosition()
getQualifierPosition 在类中 ByteBufferExtendedCellByteBuffer where column qualifier bytes startpublic ByteBuffer getValueByteBuffer()
getValueByteBuffer 在类中 ByteBufferExtendedCellByteBuffer containing the value bytes.public int getValuePosition()
getValuePosition 在类中 ByteBufferExtendedCellByteBuffer where value bytes startpublic ByteBuffer getTagsByteBuffer()
getTagsByteBuffer 在类中 ByteBufferExtendedCellByteBuffer containing the tag bytes.public int getTagsPosition()
getTagsPosition 在类中 ByteBufferExtendedCellByteBuffer where tag bytes startpublic long heapSize()
public int write(OutputStream out, boolean withTags) throws IOException
ExtendedCellKeyValue 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.IOExceptionpublic 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 int getSerializedSize()
public void write(ByteBuffer buf, int offset)
ExtendedCellKeyValue 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
ExtendedCellts - timestampIOExceptionpublic void setTimestamp(byte[] ts)
throws IOException
ExtendedCellts - buffer containing the timestamp valueIOExceptionpublic ExtendedCell deepClone()
ExtendedCellpublic boolean equals(Object other)
public int hashCode()
equals(Object), only uses the key portion, not the value.Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.