HCatalog - Chỉ mục
Tạo chỉ mục
Chỉ mục không là gì ngoài một con trỏ trên một cột cụ thể của bảng. Tạo chỉ mục có nghĩa là tạo một con trỏ trên một cột cụ thể của bảng. Cú pháp của nó như sau:
CREATE INDEX index_name
ON TABLE base_table_name (col_name, ...)
AS 'index.handler.class.name'
[WITH DEFERRED REBUILD]
[IDXPROPERTIES (property_name = property_value, ...)]
[IN TABLE index_table_name]
[PARTITIONED BY (col_name, ...)][
[ ROW FORMAT ...] STORED AS ...
| STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]
Thí dụ
Chúng ta hãy lấy một ví dụ để hiểu khái niệm về chỉ mục. Sử dụng như nhauemployee bảng mà chúng tôi đã sử dụng trước đó với các trường Id, Tên, Lương, Chức vụ và Phòng ban Tạo một chỉ mục có tên index_salary trên salary cột của employee bàn.
Truy vấn sau tạo chỉ mục:
./hcat –e "CREATE INDEX inedx_salary ON TABLE employee(salary)
AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler';"
Nó là một con trỏ đến salarycột. Nếu cột được sửa đổi, các thay đổi được lưu trữ bằng giá trị chỉ mục.
Giảm chỉ số
Cú pháp sau được sử dụng để giảm một chỉ mục:
DROP INDEX <index_name> ON <table_name>
Truy vấn sau làm giảm chỉ mục index_salary -
./hcat –e "DROP INDEX index_salary ON employee;"