org.apache.hadoop.hive.ql.index
Interface HiveIndexHandler

All Superinterfaces:
org.apache.hadoop.conf.Configurable
All Known Implementing Classes:
AbstractIndexHandler, CompactIndexHandler

public interface HiveIndexHandler
extends org.apache.hadoop.conf.Configurable

HiveIndexHandler defines a pluggable interface for adding new index handlers to Hive.


Method Summary
 void analyzeIndexDefinition(Table baseTable, Index index, Table indexTable)
          Requests that the handler validate an index definition and fill in additional information about its stored representation.
 List<Task<?>> generateIndexBuildTaskList(Table baseTbl, Index index, List<Partition> indexTblPartitions, List<Partition> baseTblPartitions, Table indexTbl, Set<ReadEntity> inputs, Set<WriteEntity> outputs)
          Requests that the handler generate a plan for building the index; the plan should read the base table and write out the index representation.
 boolean usesIndexTable()
          Determines whether this handler implements indexes by creating an index table.
 
Methods inherited from interface org.apache.hadoop.conf.Configurable
getConf, setConf
 

Method Detail

usesIndexTable

boolean usesIndexTable()
Determines whether this handler implements indexes by creating an index table.

Returns:
true if index creation implies creation of an index table in Hive; false if the index representation is not stored in a Hive table

analyzeIndexDefinition

void analyzeIndexDefinition(Table baseTable,
                            Index index,
                            Table indexTable)
                            throws HiveException
Requests that the handler validate an index definition and fill in additional information about its stored representation.

Parameters:
baseTable - the definition of the table being indexed
index - the definition of the index being created
indexTable - a partial definition of the index table to be used for storing the index representation, or null if usesIndexTable() returns false; the handler can augment the index's storage descriptor (e.g. with information about input/output format) and/or the index table's definition (typically with additional columns containing the index representation, e.g. pointers into HDFS).
Throws:
HiveException

generateIndexBuildTaskList

List<Task<?>> generateIndexBuildTaskList(Table baseTbl,
                                         Index index,
                                         List<Partition> indexTblPartitions,
                                         List<Partition> baseTblPartitions,
                                         Table indexTbl,
                                         Set<ReadEntity> inputs,
                                         Set<WriteEntity> outputs)
                                         throws HiveException
Requests that the handler generate a plan for building the index; the plan should read the base table and write out the index representation.

Parameters:
outputs -
inputs -
baseTable - the definition of the table being indexed
index - the definition of the index
indexTblPartitions - list of index partitions
baseTblPartitions - list of base table partitions with each element mirrors to the corresponding one in indexTblPartitions
indexTable - the definition of the index table, or null if usesIndexTable() returns null
inputs - inputs for hooks, supplemental outputs going along with the return value
outputs - outputs for hooks, supplemental outputs going along with the return value
Returns:
list of tasks to be executed in parallel for building the index
Throws:
HiveException


Copyright © 2011 The Apache Software Foundation