Sorry. That was a typo. In any case, it seems like I am using the wrong API.
Here's what my table contains: ABC_111 column=info:estimate, timestamp=1263319888463, value=179.59 ABC_222 column=info:estimate, timestamp=1263319888463, value=191.50 ABC_333 column=info:estimate, timestamp=1263319888463, value=180.65 ABC_444 column=info:estimate, timestamp=1263319888463, value=183.63 & so on.... I want to retrieve: ABC_111 179.59 ABC_222 191.50 ABC_333 180.65 ABC_444 183.63 & so on... What API should I use? Please let me know. Thanks for your help. On Tue, Jan 12, 2010 at 9:36 AM, stack <[email protected]> wrote: > See below: > > On Tue, Jan 12, 2010 at 9:12 AM, Something Something < > [email protected]> wrote: > > > > NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, > > byte[]>>> map = result.getMap(); > > > > Above returns a map keyed by families: > > http://hadoop.apache.org/hbase/docs/current/api/org/apache/hadoop/hbase/client/Result.html#getMap%28%29 > > > > > > for (Map.Entry<byte[], NavigableMap<byte[], NavigableMap<Long, > > byte[]>>> entry : map.entrySet()) { > > byte[] key = entry.getKey(); > > > > This is family name, not key. > > > > > *LOG.info("key = " + Bytes.toString(key));* > > NavigableMap<byte[], NavigableMap<Long, byte[]>> value = > > entry.getValue(); > > > > This is a map keyed by column qualifiers. > > > > > for (Entry<byte[], NavigableMap<Long, byte[]>> entry1 : > > value.entrySet()) { > > byte[] key1 = entry1.getKey(); > > *LOG.info("key1 = " + Bytes.toString(key1));* > > > > > This is the family qualifier. > > > > > NavigableMap<byte[], NavigableMap<Long, byte[]>> value1 > = > > entry.getValue(); > > > > > I do not think you intended to do this. I think you meant entry1, not > 'entry' and map type should be NavigableMap<Long, byte[]> rather than > above. > > St.Ack > > > > > for (Entry<byte[], NavigableMap<Long, byte[]>> entry2 : > > value1.entrySet()) { > > String key2 = Bytes.toString(entry2.getKey()); > > *LOG.info("key2 = " + key2);* > > > > } > > } > > } > > } > > >
