查询HBase二级索引列表
功能介绍
您可以使用org.apache.hadoop.hbase.hindex.client.HIndexAdmin中提供的方法来管理HIndexes。 该类提供了列出表的现有索引的方法。
HIndexAdmin为给定表格列出索引提供以下API:
- listIndices(): 该API可用于列出给定表的所有索引。
代码样例
以下代码片段在com.huawei.bigdata.hbase.examples包的“HIndexExample”类的listIndicesIntable方法中。
public void listIndicesIntable() {
LOG.info("Entering Listing Hindex.");
Admin admin = null;
HIndexAdmin iAdmin = null;
try {
admin = conn.getAdmin();
iAdmin = HIndexClient.newHIndexAdmin(admin);
// Retreive the list of indices and print it
List<Pair<HIndexSpecification, IndexState>> indicesList = iAdmin.listIndices(tableName);
LOG.info("indicesList:" + indicesList);
LOG.info("Successfully listed indices for table " + tableName + ".");
} catch (IOException e) {
LOG.error("Failed to list indices for table " + tableName + "." + e);
} finally {
if (iAdmin != null) {
try {
// Close the HIndexAdmin object.
iAdmin.close();
} catch (IOException e) {
LOG.error("Failed to close HIndexAdmin ", e);
}
}
if (admin != null) {
try {
// Close the Admin object.
admin.close();
} catch (IOException e) {
LOG.error("Failed to close admin ", e);
}
}
}
LOG.info("Exiting Listing Hindex.");
}