更新时间:2024-10-31 GMT+08:00
分享

禁用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.");
}

相关文档