这是我的代码:
HTable someTable = new HTable(conf, "table");
Scan scan1 = new Scan();
scan1.setFilter(new FirstKeyOnlyFilter());
ResultScanner scanner = chkptTable.getScanner(scan1);
Result firstKey = scanner.next();
我需要在此添加什么才能获得单个返回行的键值?
感谢您的帮助。
答案 0 :(得分:1)
您必须先添加列族。
然后迭代ResultScanner
。
答案 1 :(得分:0)
在hbase-0.96之前,您可以使用以下代码获取密钥 -
配置conf = HBaseConfiguration.create();
HTable table = new HTable(conf,Bytes.toBytes(" testtable"));
扫描扫描=新扫描();
scan.addFamily(Bytes.toBytes(" CF1&#34));
ResultScanner scanner = table.getScanner(scan);
for(结果结果:扫描仪){
的System.out.println(Bytes.toString(result.getRow()))
}
table.close();
但是,从版本-0.96开始,建议使用返回rawCells()
的{{1}}。
答案 2 :(得分:0)
只需使用类Result的方法 getRow()。 它会将行键作为byte []返回。
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Result.html#getRow()