You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2018/10/30 17:25:00 UTC

[jira] [Updated] (IMPALA-1306) Avoid passing (empty) tuples of non-materialized slots, if consumer does not need them

     [ https://issues.apache.org/jira/browse/IMPALA-1306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Armstrong updated IMPALA-1306:
----------------------------------
    Issue Type: Improvement  (was: Bug)

> Avoid passing (empty) tuples of non-materialized slots, if consumer does not need them
> --------------------------------------------------------------------------------------
>
>                 Key: IMPALA-1306
>                 URL: https://issues.apache.org/jira/browse/IMPALA-1306
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Frontend
>    Affects Versions: Impala 1.4.1
>            Reporter: Ippokratis Pandis
>            Assignee: Marcel Kornacker
>            Priority: Minor
>              Labels: planner
>
> In case of non-materialized slots we should not producing tuples
> for those slots, if it is the only slot in the tuple and the consumer
> node(s) do not need them. For example, in the query below nodes 03:ANALYTIC and 06:EXCHANGE should not have tuple_id=1.
> This has some impact in perf of BE, as in many codepaths we iterate over all the tuples in the row.
> {code}
> [localhost:21000] > explain select AVG(t1.int_col) OVER ()  FROM alltypestiny t1 WHERE EXISTS (SELECT t1.month FROM alltypestiny t1);
> Query: explain select AVG(t1.int_col) OVER ()  FROM alltypestiny t1 WHERE EXISTS (SELECT t1.month FROM alltypestiny t1)
> +----------------------------------------------------------+
> | Explain String                                           |
> +----------------------------------------------------------+
> | Estimated Per-Host Requirements: Memory=64.00MB VCores=2 |
> |                                                          |
> | 03:ANALYTIC                                              |
> | |  functions: avg(t1.int_col)                            |
> | |  hosts=3 per-host-mem=unavailable                      |
> | |  tuple-ids=0,1,6 row-size=12B cardinality=8            |
> | |                                                        |
> | 06:EXCHANGE [UNPARTITIONED]                              |
> | |  hosts=3 per-host-mem=unavailable                      |
> | |  tuple-ids=0,1 row-size=4B cardinality=8               |
> | |                                                        |
> | 02:CROSS JOIN [BROADCAST]                                |
> | |  hosts=3 per-host-mem=0B                               |
> | |  tuple-ids=0,1 row-size=4B cardinality=8               |
> | |                                                        |
> | |--05:EXCHANGE [BROADCAST]                               |
> | |  |  hosts=3 per-host-mem=0B                            |
> | |  |  tuple-ids=1 row-size=0B cardinality=1              |
> | |  |                                                     |
> | |  04:EXCHANGE [UNPARTITIONED]                           |
> | |  |  limit: 1                                           |
> | |  |  hosts=3 per-host-mem=unavailable                   |
> | |  |  tuple-ids=1 row-size=0B cardinality=1              |
> | |  |                                                     |
> | |  01:SCAN HDFS [functional.alltypestiny t1, RANDOM]     |
> | |     partitions=4/4 size=460B                           |
> | |     table stats: 8 rows total                          |
> | |     column stats: all                                  |
> | |     limit: 1                                           |
> | |     hosts=3 per-host-mem=32.00MB                       |
> | |     tuple-ids=1 row-size=0B cardinality=1              |
> | |                                                        |
> | 00:SCAN HDFS [functional.alltypestiny t1, RANDOM]        |
> |    partitions=4/4 size=460B                              |
> |    table stats: 8 rows total                             |
> |    column stats: all                                     |
> |    hosts=3 per-host-mem=32.00MB                          |
> |    tuple-ids=0 row-size=4B cardinality=8                 |
> +----------------------------------------------------------+
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org