删除索引


功能简介

一般都通过调用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索引表属于非法操作,无法正常更新表信息,再重建索引会造成查询时无法获取结果的问题。

results matching ""

    No results matching ""