I'm facing issues while building an index on multiple columns in a Hive(0.9.0)
table.
describe nas_comps;
OK
leg_id int
ds_name string
dep_date string
crr_code string
flight_no string
orgn string
dstn string
physical_cap int
adjusted_cap int
closed_cap int
comp_code string
This works :
CREATE INDEX nas_comps_legid ON TABLE nas_comps (leg_id) AS
'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED
REBUILD;
But this doesn't :
CREATE INDEX nas_comps_legid_compcode ON TABLE nas_comps (leg_id,comp_code)
AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED
REBUILD;
FAILED: Error in metadata: java.lang.RuntimeException: Check the index columns,
they should appear in the table being indexed.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
I guess the index is somehow able to recognize only the first column because
even this failed :
CREATE INDEX nas_comps_compcode ON TABLE nas_comps (comp_code) AS
'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED
REBUILD;
FAILED: Error in metadata: java.lang.RuntimeException: Check the index columns,
they should appear in the table being indexed.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
I checked this<https://issues.apache.org/jira/browse/HIVE-4251> issue but I
don't think this is the cause.
Regards,
Omkar Joshi
________________________________
The contents of this e-mail and any attachment(s) may contain confidential or
privileged information for the intended recipient(s). Unintended recipients are
prohibited from taking action on the basis of information in this e-mail and
using or disseminating the information, and must notify the sender and delete
it from their system. L&T Infotech will not accept responsibility or liability
for the accuracy or completeness of, or the presence of any virus or disabling
code in this e-mail"