2012-03-17 11 views
7

Estoy escribiendo una aplicación que muestra datos en una tabla específica en HBase por JSP. Quiero obtener todas las columnas en una familia de columnas específica para una fila.Obtener columnas en una familia de columnas específica para una fila HBase

¿hay alguna forma de hacerlo?

+0

llego a una respuesta, si tiene otra solución, por favor consejo yo. para (RR = Resultado scanner.next(); RR = null;! Rr = scanner.next()) { \t \t \t \t NavigableMap FamilyMap = rr.getFamilyMap (Bytes.toBytes ("Info")); \t \t \t \t byte [] y = (byte []) familyMap.firstEntry(). GetKey(); \t \t \t \t System.out.println (Bytes.toString (y)); \t \t } – Mahdi

Respuesta

9
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; 
} 

El resultado r es una fila deseable.

8

Si está interesado solamente en una sola familia puede configurar el escáner a buscar solamente esa familia

Scan scan = new Scan(Bytes.toBytes(startKey),Bytes.toBytes(endKey); 
    scan.addFamily(Bytes.toBytes(familyName)); 
Cuestiones relacionadas