-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HIVE-4281 add hive.map.groupby.sorted.testmode
(Namit via Gang Tim Liu) git-svn-id: https://svn.apache.org/repos/asf/hive/trunk@1464277 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
Namit Jain
committed
Apr 4, 2013
1 parent
2dc0efc
commit 97ddec6
Showing
8 changed files
with
193 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
set hive.enforce.bucketing = true; | ||
set hive.enforce.sorting = true; | ||
set hive.exec.reducers.max = 10; | ||
set hive.map.groupby.sorted=true; | ||
set hive.map.groupby.sorted.testmode=true; | ||
|
||
CREATE TABLE T1(key STRING, val STRING) | ||
CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; | ||
|
||
LOAD DATA LOCAL INPATH '../data/files/T1.txt' INTO TABLE T1; | ||
|
||
-- perform an insert to make sure there are 2 files | ||
INSERT OVERWRITE TABLE T1 select key, val from T1; | ||
|
||
CREATE TABLE outputTbl1(key int, cnt int); | ||
|
||
-- The plan should be converted to a map-side group by if the group by key | ||
-- matches the sorted key. However, in test mode, the group by wont be converted. | ||
EXPLAIN | ||
INSERT OVERWRITE TABLE outputTbl1 | ||
SELECT key, count(1) FROM T1 GROUP BY key; |
127 changes: 127 additions & 0 deletions
127
ql/src/test/results/clientpositive/groupby_sort_test_1.q.out
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) | ||
CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE | ||
PREHOOK: type: CREATETABLE | ||
POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) | ||
CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE | ||
POSTHOOK: type: CREATETABLE | ||
POSTHOOK: Output: default@T1 | ||
PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/T1.txt' INTO TABLE T1 | ||
PREHOOK: type: LOAD | ||
PREHOOK: Output: default@t1 | ||
POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/T1.txt' INTO TABLE T1 | ||
POSTHOOK: type: LOAD | ||
POSTHOOK: Output: default@t1 | ||
PREHOOK: query: -- perform an insert to make sure there are 2 files | ||
INSERT OVERWRITE TABLE T1 select key, val from T1 | ||
PREHOOK: type: QUERY | ||
PREHOOK: Input: default@t1 | ||
PREHOOK: Output: default@t1 | ||
POSTHOOK: query: -- perform an insert to make sure there are 2 files | ||
INSERT OVERWRITE TABLE T1 select key, val from T1 | ||
POSTHOOK: type: QUERY | ||
POSTHOOK: Input: default@t1 | ||
POSTHOOK: Output: default@t1 | ||
POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] | ||
POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] | ||
PREHOOK: query: CREATE TABLE outputTbl1(key int, cnt int) | ||
PREHOOK: type: CREATETABLE | ||
POSTHOOK: query: CREATE TABLE outputTbl1(key int, cnt int) | ||
POSTHOOK: type: CREATETABLE | ||
POSTHOOK: Output: default@outputTbl1 | ||
POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] | ||
POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] | ||
PREHOOK: query: -- The plan should be converted to a map-side group by if the group by key | ||
-- matches the sorted key. However, in test mode, the group by wont be converted. | ||
EXPLAIN | ||
INSERT OVERWRITE TABLE outputTbl1 | ||
SELECT key, count(1) FROM T1 GROUP BY key | ||
PREHOOK: type: QUERY | ||
POSTHOOK: query: -- The plan should be converted to a map-side group by if the group by key | ||
-- matches the sorted key. However, in test mode, the group by wont be converted. | ||
EXPLAIN | ||
INSERT OVERWRITE TABLE outputTbl1 | ||
SELECT key, count(1) FROM T1 GROUP BY key | ||
POSTHOOK: type: QUERY | ||
POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] | ||
POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] | ||
ABSTRACT SYNTAX TREE: | ||
(TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME T1))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME outputTbl1))) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count 1))) (TOK_GROUPBY (TOK_TABLE_OR_COL key)))) | ||
|
||
STAGE DEPENDENCIES: | ||
Stage-1 is a root stage | ||
Stage-0 depends on stages: Stage-1 | ||
Stage-2 depends on stages: Stage-0 | ||
|
||
STAGE PLANS: | ||
Stage: Stage-1 | ||
Map Reduce | ||
Alias -> Map Operator Tree: | ||
t1 | ||
TableScan | ||
alias: t1 | ||
Select Operator | ||
expressions: | ||
expr: key | ||
type: string | ||
outputColumnNames: key | ||
Group By Operator | ||
aggregations: | ||
expr: count(1) | ||
bucketGroup: false | ||
keys: | ||
expr: key | ||
type: string | ||
mode: hash | ||
outputColumnNames: _col0, _col1 | ||
Reduce Output Operator | ||
key expressions: | ||
expr: _col0 | ||
type: string | ||
sort order: + | ||
Map-reduce partition columns: | ||
expr: _col0 | ||
type: string | ||
tag: -1 | ||
value expressions: | ||
expr: _col1 | ||
type: bigint | ||
Reduce Operator Tree: | ||
Group By Operator | ||
aggregations: | ||
expr: count(VALUE._col0) | ||
bucketGroup: false | ||
keys: | ||
expr: KEY._col0 | ||
type: string | ||
mode: mergepartial | ||
outputColumnNames: _col0, _col1 | ||
Select Operator | ||
expressions: | ||
expr: UDFToInteger(_col0) | ||
type: int | ||
expr: UDFToInteger(_col1) | ||
type: int | ||
outputColumnNames: _col0, _col1 | ||
File Output Operator | ||
compressed: false | ||
GlobalTableId: 1 | ||
table: | ||
input format: org.apache.hadoop.mapred.TextInputFormat | ||
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | ||
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | ||
name: default.outputtbl1 | ||
|
||
Stage: Stage-0 | ||
Move Operator | ||
tables: | ||
replace: true | ||
table: | ||
input format: org.apache.hadoop.mapred.TextInputFormat | ||
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | ||
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | ||
name: default.outputtbl1 | ||
|
||
Stage: Stage-2 | ||
Stats-Aggr Operator | ||
|
||
|