闫昆 created HIVE-6803: ------------------------ Summary: Hive mutil group by results are not normal Key: HIVE-6803 URL: https://issues.apache.org/jira/browse/HIVE-6803 Project: Hive Issue Type: Bug Components: Query Processor Affects Versions: 0.9.0 Reporter: 闫昆
Hi all I'm learning hive,I am by looking at the following two SQL syntax tree , there is a problem。 predicate: expr: ((qq rlike '.*(baidu).*') or (qq rlike '.*(sina).*')) type: boolean explain from telno_qq insert overwrite local directory '/tmp/s' select telno,count(1) where qq RLIKE '.*(baidu).*' group by telno insert overwrite local directory '/tmp/d' select telno,count(1) where qq RLIKE '.*(sina).*' group by telno; predicate: expr: (qq rlike '.*(baidu).*') type: boolean predicate: expr: (qq rlike '.*(sina).*') type: boolean explain from telno_qq insert overwrite local directory '/tmp/s' select telno where qq RLIKE '.*(baidu).*' insert overwrite local directory '/tmp/d' select telno where qq RLIKE '.*(sina).*' ; The first query plan will satisfy the conditions of the two select data into / tmp / s and / tmp / d them, but actually I just want to / tmp / s data exist only baidu , / tmp / d exists only sina data . But the result is to meet or sina baidu records are placed in / tmp / s and / tmp / d both of them went to the temporary directory . The second query plan is right , and the query result is correct -- This message was sent by Atlassian JIRA (v6.2#6252)