[
https://issues.apache.org/jira/browse/HIVE-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13639120#comment-13639120
]
Steven Willis commented on HIVE-4251:
-------------------------------------
Just tried your patch and it kind of works for me, however I'm running into a
possibly related problem. I have a table called {{clicks}} that uses the avro
serde, it has a column called {{url}} which is an avro record containing a
field called {{domain}}. I'd like to index my {{clicks}} table on
{{url.domain}} with:
{code}
CREATE INDEX domainIndex
ON TABLE clicks(url.domain)
AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'
WITH DEFERRED REBUILD;
{code}
And I get:
{code}
FAILED: ParseException line 2:19 mismatched input '.' expecting ) near 'url' in
create index statement
{code}
I also tried using {{`url`.domain}} and {{`url.domain`}} but those don't work
either. I then tried making an index on the full {{url}} field. But then I just
get the following error in the MR job:
{code}
java.lang.RuntimeException: Hash code on complex types not supported yet.
{code}
Any ideas?
> Indices can't be built on tables whose schema info comes from SerDe
> -------------------------------------------------------------------
>
> Key: HIVE-4251
> URL: https://issues.apache.org/jira/browse/HIVE-4251
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.10.0, 0.11.0, 0.10.1
> Reporter: Mark Wagner
> Assignee: Mark Wagner
> Fix For: 0.11.0, 0.10.1
>
> Attachments: HIVE-4251.1.patch, HIVE-4251.2.patch
>
>
> Building indices on tables who get the schema information from the
> deserializer (e.g. Avro backed tables) doesn't work because when the column
> is checked to exist, the correct API isn't used.
> {code}
> hive> describe doctors;
>
> OK
> # col_name data_type comment
>
> number int from deserializer
> first_name string from deserializer
> last_name string from deserializer
> Time taken: 0.215 seconds, Fetched: 5 row(s)
> hive> create index doctors_index on table doctors(number) as 'compact' 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
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira