Hi all,

I’m having an issue when trying to insert data into a table from a view.
The issue is that Hive seems to rewrite the create statements for the view - 
like renaming a column to table.col1, and a table to database.table - but when 
it does this, unrelated query fragments are inserted, resulting in a malformed 
view statement that cannot then be parsed.
This problem does not occur in Hive 1.2.1 and earlier, but it does occur in 
Hive 2.1.0.

Below are the statements used to create the views;

CREATE VIEW bar.web_hits
AS
SELECT url
FROM  bar.web_hit_log
WHERE ip_address NOT IN (
                SELECT ip_address
                FROM  bar.crawler
                WHERE active = true
)
AND timestamp_gmt BETWEEN “a” AND “b”;

CREATE VIEW  bar.page_view_agg
AS
SELECT url AS page_url, COUNT(*) AS page_count
FROM  bar.web_hits a
GROUP BY url
ORDER BY page_count DESC;

I created an external table, and then I try to run the following statement to 
select from the view page_view_agg and received an error;

INSERT OVERWRITE TABLE  bar.view_result
SELECT page_url, page_count
FROM  bar.page_view_agg;

FAILED: SemanticException line 1:52 missing EOF at '.' near 'crawler' in 
definition of VIEW page_view_agg [
SELECT `a`.`url` AS `page_url`, COUNT(*) AS`crawler`.`ip_address``page_count`
FROM ` bar`.`crawler` `a`
GROUP`crawler`.`active`BY `a`.`url`
ORDER BY page_count DESC
] used as page_view_agg at Line 3:5


I ran the describe extended page_view_agg command and got the following output 
(edited);

page_url               string
page_count                          bigint

viewOriginalText:
SELECT url AS page_url, COUNT(*) AS page_count
FROM  bar.web_hits a
GROUP BY url
ORDER BY page_count DESC,

viewExpandedText:
SELECT `a`.`url` AS `page_url`, COUNT(*) AS`crawler`.`ip_address``page_count`
FROM ` bar`.`crawler` `a`
GROUP`crawler`.`active`BY `a`.`url`
ORDER BY page_count DESC,

As you can see, it looks like the statement has been corrupted by the insertion 
of the unnecessary string “`crawler`.`ip_address`” on line 1.
I would be grateful to hear any suggestions as to what the problem is/ how to 
fix it.

Thanks

Jay Green-Stevens
Software Development Intern
Hotels.com – an Expedia Inc Brand

Expedia.com Ltd – 407 St John St, London EC1V4EX

[ignature_1304619991]

Reply via email to