如何获取 HBase 的列族和限定符 Table
How to get column family and qualifier of a HBase Table
我想使用以下内容:
List<Cell> cells = sourcePut.get(CfBytes, QualBytes);
但它返回一个空列表,因为我没有指定正确的列族 and/or 正确的限定符。
对于我的来源 table,如何查看所有列族和限定符?
我还没有创建 HBase table,它已经可用了。
我想出了如下解决方案:
1. 要获取列族,扫描 table 应该可行
2.为了获得限定符,以下是我使用的代码:
Get g = new Get(Bytes.toBytes("xxxxxxx"));
//Within quotes above, the rowkey should be entered
try {
Result result = table.get(g);
System.out.println(result.getFamilyMap(Bytes.toBytes("")).firstEntry().getValue().toString());
byte[] bytes = result.getFamilyMap(Bytes.toBytes("<Column-Family Name>")).firstEntry().getKey();
String s = new String(bytes);
System.out.println("Qualifier Decrypted: " + s.toString());
} catch (IOException e) {
e.printStackTrace();
}
我想使用以下内容:
List<Cell> cells = sourcePut.get(CfBytes, QualBytes);
但它返回一个空列表,因为我没有指定正确的列族 and/or 正确的限定符。
对于我的来源 table,如何查看所有列族和限定符?
我还没有创建 HBase table,它已经可用了。
我想出了如下解决方案: 1. 要获取列族,扫描 table 应该可行 2.为了获得限定符,以下是我使用的代码:
Get g = new Get(Bytes.toBytes("xxxxxxx"));
//Within quotes above, the rowkey should be entered
try {
Result result = table.get(g);
System.out.println(result.getFamilyMap(Bytes.toBytes("")).firstEntry().getValue().toString());
byte[] bytes = result.getFamilyMap(Bytes.toBytes("<Column-Family Name>")).firstEntry().getKey();
String s = new String(bytes);
System.out.println("Qualifier Decrypted: " + s.toString());
} catch (IOException e) {
e.printStackTrace();
}