Java 获取行HBase的特定列族中的列
我正在编写一个应用程序,通过JSP在HBase的特定表中显示数据。我想获取行的特定列族中的所有列 有什么办法可以这样做吗Java 获取行HBase的特定列族中的列,java,hadoop,hbase,Java,Hadoop,Hbase,我正在编写一个应用程序,通过JSP在HBase的特定表中显示数据。我想获取行的特定列族中的所有列 有什么办法可以这样做吗 public String[]getColumnsInColumnFamily(结果r,字符串ColumnFamily) public String[] getColumnsInColumnFamily(Result r, String ColumnFamily) { NavigableMap<byte[], byte[]> familyMap =
public String[]getColumnsInColumnFamily(结果r,字符串ColumnFamily)
public String[] getColumnsInColumnFamily(Result r, String ColumnFamily)
{
NavigableMap<byte[], byte[]> familyMap = r.getFamilyMap(Bytes.toBytes(ColumnFamily));
String[] Quantifers = new String[familyMap.size()];
int counter = 0;
for(byte[] bQunitifer : familyMap.keySet())
{
Quantifers[counter++] = Bytes.toString(bQunitifer);
}
return Quantifers;
}
{
NavigableMap familyMap=r.getFamilyMap(Bytes.toBytes(ColumnFamily));
String[]Quantifers=新字符串[familyMap.size()];
int计数器=0;
对于(字节[]bkunifer:familyMap.keySet())
{
量化器[计数器++]=字节.toString(bQunitifer);
}
返回量化器;
}
结果r是理想的行。如果您只对单个系列感兴趣,可以将扫描仪设置为仅获取该系列
Scan scan = new Scan(Bytes.toBytes(startKey),Bytes.toBytes(endKey);
scan.addFamily(Bytes.toBytes(familyName));
我得出一个答案,如果你有其他的解决办法,请给我建议。for(Result rr=scanner.next();rr!=null;rr=scanner.next()){NavigableMap familyMap=rr.getFamilyMap(Bytes.toBytes(“Info”);byte[]y=(byte[])familyMap.firstEntry().getKey();System.out.println(Bytes.toString(y));}