These are 0.20.0 classes.

The 0.19 API and earlier provided a very different view of the data.

Check out RowResult, which contained a Map<byte[],Cell>.

Ishaaq Chandy wrote:
Hmm, I have a similar requirement. However, when looking at the API I cannot
see these classes: Get and Result. Are these 0.20.0 classes? If so, what
would be the equivalent for 0.19.3?

Thanks,
Ishaaq


Jonathan Gray-2 wrote:
Fleming,

Of course there is!

Look at some of the different methods in Result that return various Maps in different format. For your example, you might do:

=======

HTable table = new HTable("Table1");
Get g = new Get(Bytes.toBytes("Key1"));
Result r = table.get(g);

// Get a Map<qualifier,value> for Family

Map<byte[],byte[]> family = r.getFamilyMap(Bytes.toBytes("Family"));

// You can get a value knowing the qualifier

byte [] value1 = family.get(Bytes.toBytes("qualifier1"));

// Or you can just iterate all the qualifiers and values

for(Map.Entry<byte[],byte[]> entry : family.entrySet()) {
   byte [] qualifier = entry.getKey();
   byte [] value = entry.getValue();
}

=======

All the maps that are returned by Result are NavigableMaps, so they are sorted and allow a number of operations on them.

Hope that helps.

JG

[email protected] wrote:
Hi there,

I have a table "Table1" with one Family and 10 qualifier.
Any ways that I can get these qualifier's name in Table1,
then I can loop qualifier collection to fetch each qualifier's value.
Thank you

Fleming

====================================================================================

HTable table = new HTable(config, "Table1");
Get g = new Get(Bytes.toBytes("Key1"));
Result r = table.get(g);
byte [] value1 = r.getValue(Bytes.toBytes("Family"),
Bytes.toBytes("qualifier1"));
String valueStr1 = Bytes.toString(value1);
byte [] value2 = r.getValue(Bytes.toBytes("Family"),
Bytes.toBytes("qualifier2"));
String valueStr2 = Bytes.toString(value2);
                      .
                      .
                      .

byte [] value10 = r.getValue(Bytes.toBytes("Family"),
Bytes.toBytes("qualifier10"));
String valueStr10 = Bytes.toString(value10);

--------------------------------------------------------------------------- TSMC PROPERTY This email communication (and any attachments) is proprietary information for the sole use of its intended recipient. Any unauthorized review, use or distribution by anyone other than the intended recipient is strictly prohibited. If you are not the intended recipient, please notify the sender by replying to this email, and then delete this email and any copies of it immediately. Thank you. ---------------------------------------------------------------------------




Reply via email to