[ https://issues.apache.org/jira/browse/HIVE-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13542568#comment-13542568 ]
Shanzhong Zhu commented on HIVE-3699: ------------------------------------- Any updates on this item? We are also observing a similar issue. In the following query, the result of test17 was supposed to be empty. But test17 seems to have the same results as test18. FROM ( SELECT info.product, info.sid, info.id, t.persona, info.service FROM info_table info JOIN main_tbl t ON info.service=t.service WHERE (info.id BETWEEN 17 AND 18) AND t.dt='2012-11-20' AND t.m='XXX1' AND t.g = 'XXX2' AND t.s = 'XXX3' ) u INSERT OVERWRITE TABLE test18 PARTITION (dt='2012-11-20', service) SELECT u.product, u.sid, u.id, u.persona, u.service WHERE u.id=18 INSERT OVERWRITE TABLE test17 PARTITION (dt='2012-11-20', service) SELECT u.product, u.sid, u.id, u.persona, u.service WHERE u.id=17; > Multiple insert overwrite into multiple tables query stores same results in > all tables > -------------------------------------------------------------------------------------- > > Key: HIVE-3699 > URL: https://issues.apache.org/jira/browse/HIVE-3699 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.9.0 > Environment: Cloudera 4.1 on Amazon Linux (rebranded Centos 6): > hive-0.9.0+150-1.cdh4.1.1.p0.4.el6.noarch > Reporter: Alexandre Fouché > > (Note: This might be related to HIVE-2750) > I am doing a query with multiple INSERT OVERWRITE to multiple tables in order > to scan the dataset only 1 time, and i end up having all these tables with > the same content ! It seems the GROUP BY query that returns results is > overwriting all the temp tables. > Weird enough, if i had further GROUP BY queries into additional temp tables, > grouped by a different field, then all temp tables, even the ones that would > have been wrong content are all correctly populated. > This is the misbehaving query: > FROM nikon > INSERT OVERWRITE TABLE e1 > SELECT qs_cs_s_aid AS Emplacements, COUNT(*) AS Impressions > WHERE qs_cs_s_cat='PRINT' GROUP BY qs_cs_s_aid > INSERT OVERWRITE TABLE e2 > SELECT qs_cs_s_aid AS Emplacements, COUNT(*) AS Vues > WHERE qs_cs_s_cat='VIEW' GROUP BY qs_cs_s_aid > ; > It launches only one MR job and here are the results. Why does table 'e1' > contains results from table 'e2' ?! Table 'e1' should have been empty (see > individual SELECTs further below) > hive> SELECT * from e1; > OK > NULL 2 > 1627575 25 > 1627576 70 > 1690950 22 > 1690952 42 > 1696705 199 > 1696706 66 > 1696730 229 > 1696759 85 > 1696893 218 > Time taken: 0.229 seconds > hive> SELECT * from e2; > OK > NULL 2 > 1627575 25 > 1627576 70 > 1690950 22 > 1690952 42 > 1696705 199 > 1696706 66 > 1696730 229 > 1696759 85 > 1696893 218 > Time taken: 0.11 seconds > Here is are the result to the indiviual queries (only the second query > returns a result set): > hive> SELECT qs_cs_s_aid AS Emplacements, COUNT(*) AS Impressions FROM > nikon > WHERE qs_cs_s_cat='PRINT' GROUP BY qs_cs_s_aid; > (...) > OK > <- There are no results, this is normal > Time taken: 41.471 seconds > hive> SELECT qs_cs_s_aid AS Emplacements, COUNT(*) AS Vues FROM nikon > WHERE qs_cs_s_cat='VIEW' GROUP BY qs_cs_s_aid; > (...) > OK > NULL 2 > 1627575 25 > 1627576 70 > 1690950 22 > 1690952 42 > 1696705 199 > 1696706 66 > 1696730 229 > 1696759 85 > 1696893 218 > Time taken: 39.607 seconds > -- 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