| select * from functional_seq.alltypes t1 limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional_seq.alltypes t1] |
| partitions=24/24 files=24 size=562.59KB |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional_seq.alltypes t1] |
| partitions=24/24 files=24 size=562.59KB |
| limit: 5 |
| ==== |
| # Query is over the limit of 8 rows to be optimized, will distribute the query |
| select * from functional.alltypes t1 limit 10 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| limit: 10 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | limit: 10 |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| limit: 10 |
| ==== |
| # Query is optimized, run on coordinator only |
| select * from functional.alltypes t1 limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| limit: 5 |
| ==== |
| # If a predicate is applied the optimization is disabled |
| select * from functional.alltypes t1 where t1.id < 99 limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| predicates: t1.id < 99 |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | limit: 5 |
| | |
| 00:SCAN HDFS [functional.alltypes t1] |
| partitions=24/24 files=24 size=478.45KB |
| predicates: t1.id < 99 |
| limit: 5 |
| ==== |
| # No optimization for hbase tables |
| select * from functional_hbase.alltypes t1 where t1.id < 99 limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes t1] |
| predicates: t1.id < 99 |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | limit: 5 |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes t1] |
| predicates: t1.id < 99 |
| limit: 5 |
| ==== |
| # Applies optimization for small queries in hbase |
| select * from functional_hbase.alltypes t1 limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes t1] |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes t1] |
| limit: 5 |
| ==== |
| insert into |
| functional_hbase.alltypes |
| values (1, 1, true, "1999-12-01", 2.0, 1.0, 1, 12, 2, "abs", |
| cast(now() as timestamp), 1, 1999) |
| ---- PLAN |
| WRITE TO HBASE table=functional_hbase.alltypes |
| | |
| 00:UNION |
| constant-operands=1 |
| ---- DISTRIBUTEDPLAN |
| WRITE TO HBASE table=functional_hbase.alltypes |
| | |
| 00:UNION |
| constant-operands=1 |
| ==== |
| create table tm as select * from functional_hbase.alltypes limit 5 |
| ---- PLAN |
| WRITE TO HDFS [default.tm, OVERWRITE=false] |
| | partitions=1 |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| WRITE TO HDFS [default.tm, OVERWRITE=false] |
| | partitions=1 |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ==== |
| create table tm as select * from functional_hbase.alltypes limit 50 |
| ---- PLAN |
| WRITE TO HDFS [default.tm, OVERWRITE=false] |
| | partitions=1 |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes] |
| limit: 50 |
| ---- DISTRIBUTEDPLAN |
| WRITE TO HDFS [default.tm, OVERWRITE=false] |
| | partitions=1 |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | limit: 50 |
| | |
| 00:SCAN HBASE [functional_hbase.alltypes] |
| limit: 50 |
| ==== |
| select * from functional_hbase.alltypes limit 5 |
| union all |
| select * from functional_hbase.alltypes limit 2 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | |
| |--02:SCAN HBASE [functional_hbase.alltypes] |
| | limit: 2 |
| | |
| 01:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | |
| |--02:SCAN HBASE [functional_hbase.alltypes] |
| | limit: 2 |
| | |
| 01:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ==== |
| select * from functional_hbase.alltypes limit 5 |
| union all |
| select * from functional_hbase.alltypes limit 5 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | |
| |--02:SCAN HBASE [functional_hbase.alltypes] |
| | limit: 5 |
| | |
| 01:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 00:UNION |
| | pass-through-operands: all |
| | |
| |--04:EXCHANGE [UNPARTITIONED] |
| | | limit: 5 |
| | | |
| | 02:SCAN HBASE [functional_hbase.alltypes] |
| | limit: 5 |
| | |
| 03:EXCHANGE [UNPARTITIONED] |
| | limit: 5 |
| | |
| 01:SCAN HBASE [functional_hbase.alltypes] |
| limit: 5 |
| ==== |
| # Two scans cannot run in the same fragment. IMPALA-561 |
| select * from |
| functional.testtbl a join functional.testtbl b on a.id = b.id |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 04:EXCHANGE [UNPARTITIONED] |
| | |
| 02:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id |
| | runtime filters: RF000 <- b.id |
| | |
| |--03:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.testtbl b] |
| | partitions=1/1 files=0 size=0B |
| | |
| 00:SCAN HDFS [functional.testtbl a] |
| partitions=1/1 files=0 size=0B |
| runtime filters: RF000 -> a.id |
| ==== |
| select * from |
| functional.testtbl a, functional.testtbl b |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 04:EXCHANGE [UNPARTITIONED] |
| | |
| 02:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] |
| | |
| |--03:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.testtbl b] |
| | partitions=1/1 files=0 size=0B |
| | |
| 00:SCAN HDFS [functional.testtbl a] |
| partitions=1/1 files=0 size=0B |
| ==== |
| select * from |
| functional.alltypestiny a |
| where a.id in (select id from functional.alltypestiny limit 5) limit 5 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 05:EXCHANGE [UNPARTITIONED] |
| | limit: 5 |
| | |
| 02:HASH JOIN [LEFT SEMI JOIN, BROADCAST] |
| | hash predicates: a.id = id |
| | runtime filters: RF000 <- id |
| | limit: 5 |
| | |
| |--04:EXCHANGE [BROADCAST] |
| | | |
| | 03:EXCHANGE [UNPARTITIONED] |
| | | limit: 5 |
| | | |
| | 01:SCAN HDFS [functional.alltypestiny] |
| | partitions=4/4 files=4 size=460B |
| | limit: 5 |
| | |
| 00:SCAN HDFS [functional.alltypestiny a] |
| partitions=4/4 files=4 size=460B |
| runtime filters: RF000 -> a.id |
| ==== |
| # Test correct single-node planning for mixed union distinct/all (IMPALA-1553). |
| select |
| id, bool_col |
| from functional.alltypestiny a |
| where year=2009 and month=1 |
| union distinct |
| select id, bool_col |
| from functional.alltypestiny b |
| where year=2009 and month=1 |
| union all |
| select id, bool_col |
| from functional.alltypestiny c |
| where year=2009 and month=2 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 04:UNION |
| | pass-through-operands: 03 |
| | |
| |--05:SCAN HDFS [functional.alltypestiny c] |
| | partitions=1/4 files=1 size=115B |
| | |
| 03:AGGREGATE [FINALIZE] |
| | group by: id, bool_col |
| | |
| 00:UNION |
| | |
| |--02:SCAN HDFS [functional.alltypestiny b] |
| | partitions=1/4 files=1 size=115B |
| | |
| 01:SCAN HDFS [functional.alltypestiny a] |
| partitions=1/4 files=1 size=115B |
| ==== |
| # IMPALA-2527: Tests that the small query optimization is disabled for colleciton types |
| select key from functional.allcomplextypes.map_map_col.value limit 5; |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 01:EXCHANGE [UNPARTITIONED] |
| | limit: 5 |
| | |
| 00:SCAN HDFS [functional.allcomplextypes.map_map_col.value] |
| partitions=0/0 files=0 size=0B |
| limit: 5 |
| ==== |