HCatalog - ดัชนี

การสร้างดัชนี

ดัชนีคืออะไรนอกจากตัวชี้บนคอลัมน์ใดคอลัมน์หนึ่งของตาราง การสร้างดัชนีหมายถึงการสร้างตัวชี้บนคอลัมน์ใดคอลัมน์หนึ่งของตาราง ไวยากรณ์มีดังนี้ -

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 (...)]

ตัวอย่าง

ให้เราเป็นตัวอย่างเพื่อทำความเข้าใจแนวคิดของดัชนี ใช้เหมือนกันemployee ตารางที่เราใช้ก่อนหน้านี้กับฟิลด์ Id, Name, Salary, Designation และ Dept สร้างดัชนีชื่อ index_salary บน salary คอลัมน์ของ employee ตาราง.

แบบสอบถามต่อไปนี้สร้างดัชนี -

./hcat –e "CREATE INDEX inedx_salary ON TABLE employee(salary)
AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler';"

มันเป็นตัวชี้ไปที่ salaryคอลัมน์. หากคอลัมน์ถูกแก้ไขการเปลี่ยนแปลงจะถูกจัดเก็บโดยใช้ค่าดัชนี

การทิ้งดัชนี

ไวยากรณ์ต่อไปนี้ใช้เพื่อวางดัชนี -

DROP INDEX <index_name> ON <table_name>

ข้อความค้นหาต่อไปนี้ลดค่าดัชนี index_salary -

./hcat –e "DROP INDEX index_salary ON employee;"