Tôi đang viết một ứng dụng hiển thị dữ liệu trong một bảng cụ thể trong HBase bởi JSP. Tôi muốn nhận tất cả các cột trong một nhóm cột cụ thể cho một hàng.Lấy Cột trong một Cột Cụ thể cho một hàng HBase
có cách nào để thực hiện việc này không?
Tôi đang viết một ứng dụng hiển thị dữ liệu trong một bảng cụ thể trong HBase bởi JSP. Tôi muốn nhận tất cả các cột trong một nhóm cột cụ thể cho một hàng.Lấy Cột trong một Cột Cụ thể cho một hàng HBase
có cách nào để thực hiện việc này không?
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;
}
Kết quả r là hàng mong muốn.
Nếu bạn chỉ quan tâm đến một gia đình duy nhất bạn có thể thiết lập máy quét để lấy duy nhất mà gia đình
Scan scan = new Scan(Bytes.toBytes(startKey),Bytes.toBytes(endKey);
scan.addFamily(Bytes.toBytes(familyName));
tôi đạt đến một câu trả lời, nếu bạn có một giải pháp khác, xin vui lòng tư vấn cho tôi. for (Result rr = scanner.next(); rr = null;! Rr = scanner.next()) { \t \t \t \t NavigableMap familyMap = rr.getFamilyMap (Bytes.toBytes ("Thông tin")); \t \t \t \t byte [] y = (byte []) familyMap.firstEntry(). GetKey(); \t \t \t \t System.out.println (Bytes.toString (y)); \t \t } – Mahdi