删除索引
功能简介
一般都通过调用org.apache.hadoop.hbase.index.client.IndexAdmin中方法进行HBase二级索引的管理,该类中提供了索引的查询和删除等方法。
代码样例
public void dropIndex() {
LOG.info("Entering dropIndex.");
String indexName = "index_name";
IndexAdmin iAdmin = null;
try {
// Instantiate IndexAdmin Object
iAdmin = new IndexAdmin(conf);
// Delete Secondary Index
iAdmin.dropIndex(tableName, indexName);
LOG.info("Drop index successfully.");
} catch (IOException e) {
LOG.error("Drop index failed.");
} finally {
if (iAdmin != null) {
try {
// Close Secondary Index
iAdmin.close();
} catch (IOException e) {
LOG.error("Close admin failed.");
}
}
}
LOG.info("Exiting dropIndex.");
}
注意事项
使用dropIndex和dropIndexes接口才能正常删除HBase二级索引,严禁直接drop索引表,因为直接drop索引表属于非法操作,无法正常更新表信息,再重建索引会造成查询时无法获取结果的问题。