您的位置:首页 > 编程语言 > Java开发

hbase 新版本 java api 遍历

2016-03-17 16:32 489 查看
hbase 新版本之后,java api 改动比较大,很多方法都已经过时,其中在作全表遍历时,方法改动较大

网上多数都是基于旧api的遍历方法。

新api 示例如下

/**
* 遍历所有数据
*/
public void queryAll() {
try {
Table table = conn.getTable(tableName);

ResultScanner scan = table.getScanner(new Scan());

for (Result rst : scan) {
String rowKey = Bytes.toString(rst.getRow());
// family qualifiers values
NavigableMap<byte[], NavigableMap<byte[],byte[]>> familyMap = rst.getNoVersionMap();

for(byte[] fByte : familyMap.keySet()){

NavigableMap<byte[],byte[]> quaMap = familyMap.get(fByte);

String familyName = Bytes.toString(fByte);

for(byte[] quaByte : quaMap.keySet()){

byte[] valueByte = quaMap.get(quaByte);

String quaName = Bytes.toString(quaByte);

String value = Bytes.toString(valueByte);

String result = String.format("rowKey : %s | family : %s | qualifiers : %s | value : %s", rowKey, familyName, quaName, value);

System.out.println(result);
}
}
}
scan.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hbase 遍历