禁用HBase全局二级索引
功能简介
全局二级索引的索引状态决定了索引是否有效,通过修改索引状态,可以实现索引的禁用、启用、弃用(不再生成索引数据)等功能。通过调用“org.apache.hadoop.hbase.hindex.global.GlobalIndexAdmin”中的方法可以完成对索引状态的修改,相关API介绍请参见的“全局二级索引API介绍”章节。
代码样例
以下代码片段在com.huawei.bigdata.hbase.examples包的“GlobalSecondaryIndexSample”类中。
本样例实现了禁用idx_id_age索引功能,即查询时不会使用此索引,但会生成索引数据。
/** * alter index to UNUSABLE state. */ public void testAlterIndex() { LOG.info("Entering testAlterIndex."); List<String> indexNameList = Lists.newArrayList("idx_id_age"); // Instantiate HIndexAdmin Object try (GlobalIndexAdmin iAdmin = GlobalIndexClient.newIndexAdmin(conn.getAdmin())) { iAdmin.alterGlobalIndicesUnusable(tableName, indexNameList); LOG.info("Alter indices to UNUSABLE successfully."); } catch (IOException e) { LOG.error("Alter indices to UNUSABLE failed.", e); } LOG.info("Exiting testAlterIndex."); }