I don't see a getKey on Result. Use http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Result.html#getRow().
Here is how its used in the shell table.rb class: # Count rows in a table def count(interval = 1000, caching_rows = 10) # We can safely set scanner caching with the first key only filter scan = org.apache.hadoop.hbase.client.Scan.new scan.cache_blocks = false scan.caching = caching_rows scan.setFilter(org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter.new) # Run the scanner scanner = @table.getScanner(scan) count = 0 iter = scanner.iterator # Iterate results while iter.hasNext row = iter.next count += 1 next unless (block_given? && count % interval == 0) # Allow command modules to visualize counting process yield(count, String.from_java_bytes(row.getRow)) end # Return the counter return count end St.Ack On Thu, Feb 3, 2011 at 6:47 AM, Something Something <mailinglist...@gmail.com> wrote: > Thanks. So I will add this... > > scan.setFilter(new FirstKeyOnlyFilter()); > > But after I do this... > > Result result = scanner.next(); > > There's no... result.getKey() - so what method would give me the Key value? > > > > On Wed, Feb 2, 2011 at 10:20 PM, Stack <st...@duboce.net> wrote: > >> See >> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html >> St.Ack >> >> On Thu, Feb 3, 2011 at 6:01 AM, Something Something >> <mailinglist...@gmail.com> wrote: >> > I want to read only the keys in a table. I tried this... >> > >> > try { >> > >> > HTable table = new HTable("myTable"); >> > >> > Scan scan = new Scan(); >> > >> > scan.addFamily(Bytes.toBytes("Info")); >> > >> > ResultScanner scanner = table.getScanner(scan); >> > >> > Result result = scanner.next(); >> > >> > while (result != null) { >> > >> > & so on... >> > >> > This was performing fairly well until I added another Family that >> contains >> > lots of key/value pairs. My understanding was that adding another family >> > wouldn't affect performance of this code because I am explicitly using >> > "Info", but it is. >> > >> > Anyway, in this particular use case, I only care about the "Key" of the >> row. >> > I don't need any values from any of the families. What's the best way >> to >> > do this? >> > >> > Please let me know. Thanks. >> > >> >