HIVE Indexex 索引

thamsyangsw發表於2014-03-28

Creating an Index -- 建立一個索引


  1. CREATE TABLE employees (  
  2.   name         STRING,  
  3.   salary       FLOAT,  
  4.   subordinates ARRAY,  
  5.   deductions   MAPFLOAT>,  
  6.   address      STRUCTINT>  
  7. )  
  8. PARTITIONED BY (country STRING, state STRING);  




Let’s index on the country partition only:

  1. CREATE INDEX employees_index  
  2. ON TABLE employees (country)  
  3. AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'  
  4. WITH DEFERRED REBUILD  
  5. IDXPROPERTIES ('creator = 'me', 'created_at' = 'some_time')  
  6. IN TABLE employees_index_table  
  7. PARTITIONED BY (country, name)  
  8. COMMENT 'Employees indexed by country and name.';  




Bitmap Indexes

Hive v0.8.0 adds a built-in bitmap index handler. Bitmap indexes are commonly used
for columns with few distinct values. Here is our previous example rewritten to use the
bitmap index handler:


  1. CREATE INDEX employees_index  
  2. ON TABLE employees (country)  
  3. AS 'BITMAP'  
  4. WITH DEFERRED REBUILD  
  5. IDXPROPERTIES ('creator = 'me', 'created_at' = 'some_time')  
  6. IN TABLE employees_index_table  
  7. PARTITIONED BY (country, name)  
  8. COMMENT 'Employees indexed by country and name.';  




Rebuilding the Index


  1. ALTER INDEX employees_index  
  2. ON TABLE employees  
  3. PARTITION (country = 'US')  
  4. REBUILD;  




Showing an Index


  1. SHOW FORMATTED INDEX ON employees;  




Dropping an Index


  1. DROP INDEX IF EXISTS employees_index ON TABLE employees;  



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1131361/,如需轉載,請註明出處,否則將追究法律責任。

相關文章