@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 KeyValue |
ensureKeyValueTypeForMR(Cell cell)
Deprecated.
without any replacement.
|
static KeyValue |
iscreate(InputStream in,
boolean withTags)
Create a KeyValue reading from the raw InputStream.
|
static int |
keyLength(Cell cell)
Returns number of bytes this cell's key part would have been used if serialized as in
KeyValue . |
private static int |
keyLength(short rlen,
byte flen,
int qlen) |
static int |
length(Cell cell)
Returns number of bytes this cell would have been used if serialized as in
KeyValue |
private static int |
length(short rlen,
byte flen,
int qlen,
int vlen,
int tlen,
boolean withTags) |
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
- private static int length(short rlen, byte flen, int qlen, int vlen, int tlen, boolean withTags)
public static int keyLength(Cell cell)
KeyValue
. Key includes rowkey, family, qualifier, timestamp and type.cell
- private static int keyLength(short rlen, byte flen, int qlen)
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 KeyValue ensureKeyValueTypeForMR(Cell cell)
cell
- cell
if it is an object of class KeyValue
else we will return a
new KeyValue
instance made from cell
Note: Even if the cell is an object
of any of the subclass of KeyValue
, we will create a new KeyValue
object
wrapping same buffer. This API should be used only with MR based tools which expect the type
to be exactly KeyValue. That is the reason for doing this way.@Deprecated public static List<KeyValue> ensureKeyValues(List<Cell> cells)
public static KeyValue iscreate(InputStream in, boolean withTags) throws IOException
iscreate
so doesn't clash with the create(DataInput)
method
added in 2.0in
- withTags
- whether the keyvalue should include tags are notIOException
public static void oswrite(Cell cell, OutputStream out, boolean withTags) throws IOException
IOException
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.