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();
}
}
网上多数都是基于旧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();
}
}
相关文章推荐
- Facebook's New Real-time Messaging System: HBase to Store 135+ Billion Messages a Month
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 文件遍历排序函数
- Lua 学习笔记之C API 遍历 Table实现代码
- C#遍历文件夹后上传文件夹中所有文件错误案例分析
- C#中遍历Hashtable的4种方法
- Erlang中遍历取出某个位置的最大值代码
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- C++实现图的邻接表存储和广度优先遍历实例分析
- C++非递归队列实现二叉树的广度优先遍历
- php遍历目录方法小结
- 一个目录遍历函数
- php遍历删除整个目录及文件的方法
- PHP遍历文件夹与文件类及处理类用法实例
- PHP遍历XML文档所有节点的方法
- php中使用key,value,current,next和prev函数遍历数组的方法
- C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法
- C#使用foreach遍历哈希表(hashtable)的方法
- php递归遍历多维数组的方法
- C#使用yield关键字让自定义集合实现foreach遍历的方法