Package org.apache.hadoop.hbase
Interface ExtendedCell
- All Known Implementing Classes:
BufferedDataBlockEncoder.OffheapDecodedExtendedCell
,BufferedDataBlockEncoder.OnheapDecodedCell
,ByteBufferChunkKeyValue
,ByteBufferExtendedCell
,ByteBufferKeyOnlyKeyValue
,ByteBufferKeyValue
,IndividualBytesFieldCell
,KeyOnlyFilter.KeyOnlyByteBufferExtendedCell
,KeyOnlyFilter.KeyOnlyCell
,KeyValue
,KeyValue.KeyOnlyKeyValue
,MapReduceExtendedCell
,NoTagByteBufferChunkKeyValue
,NoTagsByteBufferKeyValue
,NoTagsKeyValue
,PrivateCellUtil.EmptyByteBufferExtendedCell
,PrivateCellUtil.EmptyCell
,PrivateCellUtil.FirstOnRowByteBufferExtendedCell
,PrivateCellUtil.FirstOnRowCell
,PrivateCellUtil.FirstOnRowColByteBufferExtendedCell
,PrivateCellUtil.FirstOnRowColCell
,PrivateCellUtil.FirstOnRowColTSByteBufferExtendedCell
,PrivateCellUtil.FirstOnRowColTSCell
,PrivateCellUtil.FirstOnRowDeleteFamilyCell
,PrivateCellUtil.LastOnRowByteBufferExtendedCell
,PrivateCellUtil.LastOnRowCell
,PrivateCellUtil.LastOnRowColByteBufferExtendedCell
,PrivateCellUtil.LastOnRowColCell
,PrivateCellUtil.TagRewriteByteBufferExtendedCell
,PrivateCellUtil.TagRewriteCell
,PrivateCellUtil.ValueAndTagRewriteByteBufferExtendedCell
,PrivateCellUtil.ValueAndTagRewriteCell
,SizeCachedByteBufferKeyValue
,SizeCachedKeyValue
,SizeCachedNoTagsByteBufferKeyValue
,SizeCachedNoTagsKeyValue
Extension to
Cell
with server side required functions. Server side Cell implementations
must implement this.-
Nested Class Summary
-
Field Summary
Fields inherited from interface org.apache.hadoop.hbase.RawCell
MAX_TAGS_LENGTH
-
Method Summary
Modifier and TypeMethodDescriptiondefault ExtendedCell
Does a deep copy of the contents to a new memory area and returns it as a new cell.default int
Extracts the id of the backing bytebuffer of this cell if it was obtained from fixed sized chunks as in case of MemstoreLABlong
A region-specific unique monotonically increasing sequence ID given to each Cell.default int
Returns Serialized size (defaults to include tag length).default int
getSerializedSize
(boolean withTags) KeyValue formatdefault Cell.Type
getType()
Typically, at server side, you'd better always use thegetTypeByte()
as this method does not expose theMaximum
andMinimum
because they will not be returned to client, but at server side, we do have cells with these types so if you use this method it will cause exceptions.byte
Returns The byte representation of the KeyValue.TYPE of this cell: one of Put, Delete, etcvoid
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.default int
write
(OutputStream out, boolean withTags) Write this cell to an OutputStream in aKeyValue
format.default void
write
(ByteBuffer buf, int offset) Write this Cell into the given buf's offset in aKeyValue
format.Methods inherited from interface org.apache.hadoop.hbase.Cell
getFamilyArray, getFamilyLength, getFamilyOffset, getQualifierArray, getQualifierLength, getQualifierOffset, getRowArray, getRowLength, getRowOffset, getTimestamp, getValueArray, getValueLength, getValueOffset
Methods inherited from interface org.apache.hadoop.hbase.RawCell
cloneTags, getTag, getTags, getTagsArray, getTagsLength, getTagsOffset
-
Field Details
-
CELL_NOT_BASED_ON_CHUNK
- See Also:
-
-
Method Details
-
write
Write this cell to an OutputStream in aKeyValue
format.
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>
- Parameters:
out
- Stream to which cell has to be writtenwithTags
- Whether to write tags.- Returns:
- how many bytes are written.
- Throws:
IOException
-
getSerializedSize
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>
- Parameters:
withTags
- Whether to write tags.- Returns:
- Bytes count required to serialize this Cell in a
KeyValue
format.
-
getSerializedSize
Returns Serialized size (defaults to include tag length).- Specified by:
getSerializedSize
in interfaceCell
-
write
Write this Cell into the given buf's offset in aKeyValue
format.- Parameters:
buf
- The buffer where to write the Cell.offset
- The offset within buffer, to write the Cell.
-
deepClone
Does a deep copy of the contents to a new memory area and returns it as a new cell.- Returns:
- The deep cloned cell
-
getChunkId
Extracts the id of the backing bytebuffer of this cell if it was obtained from fixed sized chunks as in case of MemstoreLAB- Returns:
- the chunk id if the cell is backed by fixed sized Chunks, else return
CELL_NOT_BASED_ON_CHUNK
; i.e. -1.
-
setSequenceId
Sets with the given seqId.- Parameters:
seqId
- sequence ID- Throws:
IOException
-
setTimestamp
Sets with the given timestamp.- Parameters:
ts
- timestamp- Throws:
IOException
-
setTimestamp
Sets with the given timestamp.- Parameters:
ts
- buffer containing the timestamp value- Throws:
IOException
-
getSequenceId
long getSequenceId()A region-specific unique monotonically increasing sequence ID given to each Cell. It always exists for cells in the memstore but is not retained forever. It will be kept forHConstants.KEEP_SEQID_PERIOD
days, but generally becomes irrelevant after the cell's row is no longer involved in any operations that require strict consistency.- Returns:
- seqId (always > 0 if exists), or 0 if it no longer exists
-
getTypeByte
byte getTypeByte()Returns The byte representation of the KeyValue.TYPE of this cell: one of Put, Delete, etc -
getType
Typically, at server side, you'd better always use thegetTypeByte()
as this method does not expose theMaximum
andMinimum
because they will not be returned to client, but at server side, we do have cells with these types so if you use this method it will cause exceptions.
-