@InterfaceAudience.Private public class KeyValueUtil extends Object
Constructor and Description |
---|
KeyValueUtil() |
Modifier and Type | Method and Description |
---|---|
static int |
appendKeyTo(Cell cell,
byte[] output,
int offset) |
static int |
appendToByteArray(Cell cell,
byte[] output,
int offset)
copy key and value
|
static void |
appendToByteBuffer(ByteBuffer bb,
KeyValue kv,
boolean includeMvccVersion) |
static ByteBuffer |
copyKeyToNewByteBuffer(Cell cell)
The position will be set to the beginning of the new ByteBuffer
|
static byte[] |
copyToNewByteArray(Cell cell) |
static ByteBuffer |
copyToNewByteBuffer(Cell cell)
The position will be set to the beginning of the new ByteBuffer
|
static KeyValue |
copyToNewKeyValue(Cell cell)
copy key only
|
static KeyValue |
createFirstDeleteFamilyOnRow(byte[] row,
byte[] family)
Create a Delete Family KeyValue for the specified row and family that would
be smaller than all other possible Delete Family KeyValues that have the
same row and family.
|
static KeyValue |
createFirstKeyInIncrementedRow(Cell in)
Increment the row bytes and clear the other fields
|
static KeyValue |
createFirstKeyInNextRow(Cell in)
Append single byte 0x00 to the end of the input row key
|
static KeyValue |
createFirstOnRow(byte[] row)
Create a KeyValue that is smaller than all other possible KeyValues
for the given row.
|
static KeyValue |
createFirstOnRow(byte[] row,
byte[] family,
byte[] qualifier)
Create a KeyValue for the specified row, family and qualifier that would be
smaller than all other possible KeyValues that have the same row,family,qualifier.
|
static KeyValue |
createFirstOnRow(byte[] buffer,
byte[] row,
byte[] family,
byte[] qualifier)
Create a KeyValue for the specified row, family and qualifier that would be
smaller than all other possible KeyValues that have the same row,
family, qualifier.
|
static KeyValue |
createFirstOnRow(byte[] row,
byte[] f,
byte[] q,
long ts) |
static KeyValue |
createFirstOnRow(byte[] buffer,
int boffset,
byte[] row,
int roffset,
int rlength,
byte[] family,
int foffset,
int flength,
byte[] qualifier,
int qoffset,
int qlength)
Create a KeyValue for the specified row, family and qualifier that would be
smaller than all other possible KeyValues that have the same row,
family, qualifier.
|
static KeyValue |
createFirstOnRow(byte[] row,
int roffset,
int rlength,
byte[] family,
int foffset,
int flength,
byte[] qualifier,
int qoffset,
int qlength)
Create a KeyValue for the specified row, family and qualifier that would be
smaller than all other possible KeyValues that have the same row,
family, qualifier.
|
static KeyValue |
createFirstOnRow(byte[] row,
int roffset,
short rlength)
Create a KeyValue that is smaller than all other possible KeyValues
for the given row.
|
static KeyValue |
createFirstOnRow(byte[] row,
long ts)
Creates a KeyValue that is smaller than all other KeyValues that
are older than the passed timestamp.
|
static KeyValue |
createFirstOnRowColTS(Cell kv,
long ts)
Creates the first KV with the row/family/qualifier of this KV and the given
timestamp.
|
static KeyValue |
createFirstOnRowColTS(KeyValue kv,
long ts)
Creates the first KV with the row/family/qualifier of this KV and the
given timestamp.
|
static KeyValue |
createLastOnRow(byte[] row)
Creates a KeyValue that is last on the specified row id.
|
static KeyValue |
createLastOnRow(byte[] row,
int roffset,
int rlength,
byte[] family,
int foffset,
int flength,
byte[] qualifier,
int qoffset,
int qlength)
Create a KeyValue for the specified row, family and qualifier that would be
larger than or equal to all other possible KeyValues that have the same
row, family, qualifier.
|
static KeyValue |
createLastOnRow(Cell kv)
Creates a keyValue for the specified keyvalue larger than or equal to all other possible
KeyValues that have the same row, family, qualifer.
|
static KeyValue |
createLastOnRowCol(Cell kv)
Similar to
createLastOnRow(byte[], int, int, byte[], int, int, byte[], int, int)
but creates the last key on the row/column of this KV (the value part of
the returned KV is always empty). |
static KeyValue |
ensureKeyValue(Cell cell)
Deprecated.
without any replacement.
|
static List<KeyValue> |
ensureKeyValues(List<Cell> cells)
Deprecated.
|
static int |
keyLength(Cell cell)
Returns number of bytes this cell's key part would have been used if serialized as in
KeyValue . |
static int |
length(Cell cell)
Returns number of bytes this cell would have been used if serialized as in
KeyValue |
static int |
lengthWithMvccVersion(KeyValue kv,
boolean includeMvccVersion) |
static KeyValue |
nextShallowCopy(ByteBuffer bb,
boolean includesMvccVersion,
boolean includesTags)
Creates a new KeyValue object positioned in the supplied ByteBuffer and sets the ByteBuffer's
position to the start of the next KeyValue.
|
static void |
oswrite(Cell cell,
OutputStream out,
boolean withTags) |
static KeyValue |
previousKey(KeyValue in)
Decrement the timestamp.
|
static int |
totalLengthWithMvccVersion(Iterable<? extends KeyValue> kvs,
boolean includeMvccVersion) |
public static int length(Cell cell)
KeyValue
cell
- public static int keyLength(Cell cell)
KeyValue
. Key includes rowkey, family, qualifier, timestamp and type.cell
- public static int lengthWithMvccVersion(KeyValue kv, boolean includeMvccVersion)
public static int totalLengthWithMvccVersion(Iterable<? extends KeyValue> kvs, boolean includeMvccVersion)
public static ByteBuffer copyKeyToNewByteBuffer(Cell cell)
cell
- public static byte[] copyToNewByteArray(Cell cell)
public static int appendKeyTo(Cell cell, byte[] output, int offset)
public static int appendToByteArray(Cell cell, byte[] output, int offset)
public static ByteBuffer copyToNewByteBuffer(Cell cell)
cell
- public static void appendToByteBuffer(ByteBuffer bb, KeyValue kv, boolean includeMvccVersion)
public static KeyValue nextShallowCopy(ByteBuffer bb, boolean includesMvccVersion, boolean includesTags)
bb
- includesMvccVersion
- includesTags
- public static KeyValue createFirstKeyInNextRow(Cell in)
public static KeyValue createFirstKeyInIncrementedRow(Cell in)
public static KeyValue previousKey(KeyValue in)
in
- public static KeyValue createLastOnRow(byte[] row, int roffset, int rlength, byte[] family, int foffset, int flength, byte[] qualifier, int qoffset, int qlength)
row
- row keyroffset
- row offsetrlength
- row lengthfamily
- family namefoffset
- family offsetflength
- family lengthqualifier
- column qualifierqoffset
- qualifier offsetqlength
- qualifier lengthpublic static KeyValue createLastOnRow(Cell kv)
kv
- public static KeyValue createLastOnRowCol(Cell kv)
createLastOnRow(byte[], int, int, byte[], int, int, byte[], int, int)
but creates the last key on the row/column of this KV (the value part of
the returned KV is always empty). Used in creating "fake keys" for the
multi-column Bloom filter optimization to skip the row/column we already
know is not in the file.kv
- - cellpublic static KeyValue createFirstOnRowColTS(Cell kv, long ts)
kv
- - cellts
- public static KeyValue createFirstOnRow(byte[] row, int roffset, short rlength)
row
- - row key (arbitrary byte array)row
public static KeyValue createLastOnRow(byte[] row)
row
- row keyrow
public static KeyValue createFirstOnRow(byte[] row)
row
- - row key (arbitrary byte array)row
public static KeyValue createFirstOnRow(byte[] row, long ts)
row
- - row key (arbitrary byte array)ts
- - timestamprow
and timestamp.public static KeyValue createFirstOnRow(byte[] row, byte[] family, byte[] qualifier)
row
- - row key (arbitrary byte array)family
- - family namequalifier
- - column qualifierrow
, and column.public static KeyValue createFirstDeleteFamilyOnRow(byte[] row, byte[] family)
row
- - row key (arbitrary byte array)family
- - family namerow
.public static KeyValue createFirstOnRow(byte[] row, byte[] f, byte[] q, long ts)
row
- - row key (arbitrary byte array)f
- - family nameq
- - column qualifierts
- - timestamprow
, column and timestamppublic static KeyValue createFirstOnRow(byte[] row, int roffset, int rlength, byte[] family, int foffset, int flength, byte[] qualifier, int qoffset, int qlength)
row
- row keyroffset
- row offsetrlength
- row lengthfamily
- family namefoffset
- family offsetflength
- family lengthqualifier
- column qualifierqoffset
- qualifier offsetqlength
- qualifier lengthpublic static KeyValue createFirstOnRow(byte[] buffer, byte[] row, byte[] family, byte[] qualifier) throws IllegalArgumentException
buffer
- the buffer to use for the new KeyValue
objectrow
- the value keyfamily
- family namequalifier
- column qualifierIllegalArgumentException
- The resulting KeyValue
object would be larger
than the provided buffer or than Integer.MAX_VALUE
public static KeyValue createFirstOnRow(byte[] buffer, int boffset, byte[] row, int roffset, int rlength, byte[] family, int foffset, int flength, byte[] qualifier, int qoffset, int qlength) throws IllegalArgumentException
buffer
- the buffer to use for the new KeyValue
objectboffset
- buffer offsetrow
- the value keyroffset
- row offsetrlength
- row lengthfamily
- family namefoffset
- family offsetflength
- family lengthqualifier
- column qualifierqoffset
- qualifier offsetqlength
- qualifier lengthIllegalArgumentException
- The resulting KeyValue
object would be larger
than the provided buffer or than Integer.MAX_VALUE
public static KeyValue createFirstOnRowColTS(KeyValue kv, long ts)
@Deprecated public static KeyValue ensureKeyValue(Cell cell)
@Deprecated public static List<KeyValue> ensureKeyValues(List<Cell> cells)
public static void oswrite(Cell cell, OutputStream out, boolean withTags) throws IOException
IOException