1.Eclipse中运行JAVA代码远程操作HBase的示例
http://blog.csdn.net/kkdelta/article/details/20457319
http://blog.csdn.net/kangkanglou/article/details/30748139
3. Java 下 select Hbase 各级元素 code sample
public void listAll(HTable table,String family) throws IOException {
try {
//1.table->(family->Result row)->(row.getFamilyMap->Entry)->(column(key),value)
for(Result row: table.getScanner(family.getBytes())){
System.out.format("ROW\t%s\n",new String(row.getRow()));
for(Map.Entry<byte[],byte[]> entry : row.getFamilyMap(family.getBytes()).entrySet()){
String column = new String(entry.getKey());
String value = new String(entry.getValue());
System.out.format("column\tfamily:%s\t%s\n",column,value );
}
}
//2. table->Result row->(row.raw()->KeyValue)->(row,family,timestamp,qualifier(column),value)
Scan scan = new Scan();
// for(Result row: table.getScanner(scan){
// for(KeyValue kv: row.raw()){
// kv.getRow()
// kv.getFamily()
// kv.getTimestamp()
// kv.getQualifier()
// kv.getValue()
// }
// }
//3.table->(family->Result row)->(row.getColumn->KeyValue)->(row,family,timestamp,value)
for(Result row: table.getScanner(family.getBytes())){
for(KeyValue kv: row.getColumn(family.getBytes(), "age".getBytes()) ){
System.out.format("%s\t%s\t%s\t%s\t%s\n",
new String(kv.getRow()),
new String(kv.getFamily()),
kv.getTimestamp(),
kv.getType(),
new String(kv.getValue()));
}
}
} catch (IOException e) {
DBHelper.getAdmin().close();
throw e;
}
}
4. 建二级索引表
original:
id -> row->family->column->value
now:
value->id id -> row->family->column->value
http://a123159521.iteye.com/blog/1239426