| # Default query options |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year`, RF001 <- d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month`, RF005 <- c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF001 -> a.bool_col, RF004 -> a.`month`, RF005 -> a.int_col, RF008 -> a.id, RF009 -> a.date_string_col |
| row-size=37B cardinality=7.30K |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 12:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year`, RF001 <- d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--11:EXCHANGE [HASH(d.`year`,d.bool_col)] |
| | | |
| | 03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 10:EXCHANGE [HASH(a.`year`,a.bool_col)] |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month`, RF005 <- c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF001 -> a.bool_col, RF004 -> a.`month`, RF005 -> a.int_col, RF008 -> a.id, RF009 -> a.date_string_col |
| row-size=37B cardinality=7.30K |
| ==== |
| # Keep only MAX_NUM_RUNTIME_FILTERS most selective filters, remove the rest. |
| # In this query RF000 (<- d.bool_col) and RF001 (<- d.year) are the least selective |
| # filters. |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| MAX_NUM_RUNTIME_FILTERS=4 |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 12:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--11:EXCHANGE [HASH(d.`year`,d.bool_col)] |
| | | |
| | 03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 10:EXCHANGE [HASH(a.`year`,a.bool_col)] |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month`, RF005 <- c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF008 -> a.id, RF009 -> a.date_string_col, RF004 -> a.`month`, RF005 -> a.int_col |
| row-size=37B cardinality=7.30K |
| ==== |
| # DISABLE_ROW_RUNTIME_FILTERING is set: only partition column filters are applied. |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| DISABLE_ROW_RUNTIME_FILTERING=true |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year` |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ==== |
| # DISABLE_ROW_RUNTIME_FILTERING is set and MAX_NUM_RUNTIME_FILTERS is set to 2: only the 2 |
| # partition column filters are applied |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| DISABLE_ROW_RUNTIME_FILTERING=true |
| MAX_NUM_RUNTIME_FILTERS=2 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year` |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ==== |
| # RUNTIME_FILTER_MODE is set to LOCAL: only local filters are applied |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| RUNTIME_FILTER_MODE=LOCAL |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year`, RF001 <- d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month`, RF005 <- c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF001 -> a.bool_col, RF004 -> a.`month`, RF005 -> a.int_col, RF008 -> a.id, RF009 -> a.date_string_col |
| row-size=37B cardinality=7.30K |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 12:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--11:EXCHANGE [HASH(d.`year`,d.bool_col)] |
| | | |
| | 03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 10:EXCHANGE [HASH(a.`year`,a.bool_col)] |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month`, RF005 <- c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF004 -> a.`month`, RF005 -> a.int_col, RF008 -> a.id, RF009 -> a.date_string_col |
| row-size=37B cardinality=7.30K |
| ==== |
| # RUNTIME_FILTER_MODE is set to LOCAL and MAX_NUM_RUNTIME_FILTERS is set to 3: only 3 |
| # local filters are kept, which means that both local and non-local filters are removed |
| # from the distributed plan. |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| RUNTIME_FILTER_MODE=LOCAL |
| MAX_NUM_RUNTIME_FILTERS=3 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF008 -> a.id, RF009 -> a.date_string_col, RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 12:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--11:EXCHANGE [HASH(d.`year`,d.bool_col)] |
| | | |
| | 03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 10:EXCHANGE [HASH(a.`year`,a.bool_col)] |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | runtime filters: RF008 <- b.id, RF009 <- b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF008 -> a.id, RF009 -> a.date_string_col, RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ==== |
| # DISABLE_ROW_RUNTIME_FILTERING is set and RUNTIME_FILTER_MODE is set to LOCAL: only local |
| # partition column filters are applied |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| DISABLE_ROW_RUNTIME_FILTERING=true |
| RUNTIME_FILTER_MODE=LOCAL |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | runtime filters: RF000 <- d.`year` |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF000 -> a.`year`, RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ---- DISTRIBUTEDPLAN |
| PLAN-ROOT SINK |
| | |
| 13:AGGREGATE [FINALIZE] |
| | output: count:merge(*) |
| | row-size=8B cardinality=1 |
| | |
| 12:EXCHANGE [UNPARTITIONED] |
| | |
| 07:AGGREGATE |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN, PARTITIONED] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--11:EXCHANGE [HASH(d.`year`,d.bool_col)] |
| | | |
| | 03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 10:EXCHANGE [HASH(a.`year`,a.bool_col)] |
| | |
| 05:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | runtime filters: RF004 <- c.`month` |
| | row-size=69B cardinality=4.44M |
| | |
| |--09:EXCHANGE [BROADCAST] |
| | | |
| | 02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN, BROADCAST] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--08:EXCHANGE [BROADCAST] |
| | | |
| | 01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| runtime filters: RF004 -> a.`month` |
| row-size=37B cardinality=7.30K |
| ==== |
| # RUNTIME_FILTER_MODE is OFF: no filters are applied |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| RUNTIME_FILTER_MODE=OFF |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=37B cardinality=7.30K |
| ==== |
| # MAX_NUM_RUNTIME_FILTERS is 0: no filters are applied |
| select /* +straight_join */ count(*) from functional.alltypes a |
| join /* +broadcast */ functional.alltypes b on b.id = a.id and |
| b.date_string_col = a.date_string_col |
| join /* +broadcast */ functional.alltypes c on c.month = a.month and |
| c.int_col = a.int_col |
| join /* +shuffle */ functional.alltypes d on d.bool_col = a.bool_col and d.year = a.year |
| ---- QUERYOPTIONS |
| MAX_NUM_RUNTIME_FILTERS=0 |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 07:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 06:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`year` = d.`year`, a.bool_col = d.bool_col |
| | row-size=74B cardinality=16.21G |
| | |
| |--03:SCAN HDFS [functional.alltypes d] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=5B cardinality=7.30K |
| | |
| 05:HASH JOIN [INNER JOIN] |
| | hash predicates: a.`month` = c.`month`, a.int_col = c.int_col |
| | row-size=69B cardinality=4.44M |
| | |
| |--02:SCAN HDFS [functional.alltypes c] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=8B cardinality=7.30K |
| | |
| 04:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id, a.date_string_col = b.date_string_col |
| | row-size=61B cardinality=7.30K |
| | |
| |--01:SCAN HDFS [functional.alltypes b] |
| | partitions=24/24 files=24 size=478.45KB |
| | row-size=24B cardinality=7.30K |
| | |
| 00:SCAN HDFS [functional.alltypes a] |
| partitions=24/24 files=24 size=478.45KB |
| row-size=37B cardinality=7.30K |
| ==== |
| # DISABLE_ROW_RUNTIME_FILTERING completely disables filters for Kudu. |
| select /* +straight_join */ count(*) from functional_kudu.alltypes a |
| join functional_kudu.alltypes b on a.id = b.id |
| ---- QUERYOPTIONS |
| DISABLE_ROW_RUNTIME_FILTERING=TRUE |
| ---- PLAN |
| PLAN-ROOT SINK |
| | |
| 03:AGGREGATE [FINALIZE] |
| | output: count(*) |
| | row-size=8B cardinality=1 |
| | |
| 02:HASH JOIN [INNER JOIN] |
| | hash predicates: a.id = b.id |
| | row-size=8B cardinality=7.30K |
| | |
| |--01:SCAN KUDU [functional_kudu.alltypes b] |
| | row-size=4B cardinality=7.30K |
| | |
| 00:SCAN KUDU [functional_kudu.alltypes a] |
| row-size=4B cardinality=7.30K |
| ==== |