[ 
https://issues.apache.org/jira/browse/DRILL-3417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14606727#comment-14606727
 ] 

Steven Phillips commented on DRILL-3417:
----------------------------------------

This particular filter would not filter out any of the values, nor prune any of 
the files. The current partition pruning logic does not choose the pruned plan 
if no files were pruned from the scan, even though the filter could be removed. 
I am not sure why this logic is in place, but it is not new. It has been this 
way since partition pruning was first introduced.

> Filter present in query plan when we should not see one 
> --------------------------------------------------------
>
>                 Key: DRILL-3417
>                 URL: https://issues.apache.org/jira/browse/DRILL-3417
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 1.1.0
>         Environment: 4 node cluster CentOS
>            Reporter: Khurram Faraaz
>            Assignee: Steven Phillips
>             Fix For: 1.2.0
>
>
> We are seeing a FILTER in the query plan, in this case we should not see one.
> {code}
> 0: jdbc:drill:schema=dfs.tmp> CREATE TABLE CTAS_ONE_MILN_RWS_PER_GROUP(col1, 
> col2) PARTITION BY (col2) AS select cast(columns[0] as bigint) col1, 
> cast(columns[1] as char(2)) col2 from `millionValGroup.csv`;
> +-----------+----------------------------+
> | Fragment  | Number of records written  |
> +-----------+----------------------------+
> | 1_1       | 21932064                   |
> | 1_0       | 28067936                   |
> +-----------+----------------------------+
> 2 rows selected (73.661 seconds)
> {code}
> Total number of rows in CTAS output
> {code}
> 0: jdbc:drill:schema=dfs.tmp> select count(*) from 
> CTAS_ONE_MILN_RWS_PER_GROUP;
> +-----------+
> |  EXPR$0   |
> +-----------+
> | 50000000  |
> +-----------+
> 1 row selected (0.197 seconds)
> {code}
> {code}
> explain plan for select col1, col2 from CTAS_ONE_MILN_RWS_PER_GROUP where 
> col2 >= 'AK';
> | 00-00    Screen
> 00-01      Project(col1=[$0], col2=[$1])
> 00-02        UnionExchange
> 01-01          Project(col1=[$1], col2=[$0])
> 01-02            SelectionVectorRemover
> 01-03              Filter(condition=[>=($0, 'AK')])
> 01-04                Project(col2=[$1], col1=[$0])
> 01-05                  Scan(groupscan=[ParquetGroupScan 
> [entries=[ReadEntryWithPath 
> [path=maprfs:///tmp/CTAS_ONE_MILN_RWS_PER_GROUP]], 
> selectionRoot=/tmp/CTAS_ONE_MILN_RWS_PER_GROUP, numFiles=1, columns=[`col2`, 
> `col1`]]])
> {code}
> Number of files created by CTAS
> {code}
> [root@centos-01 ~]# hadoop fs -ls /tmp/CTAS_ONE_MILN_RWS_PER_GROUP
> Found 98 items
> -rwxr-xr-x   3 mapr mapr    2907957 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_1.parquet
> -rwxr-xr-x   3 mapr mapr    2902189 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_10.parquet
> -rwxr-xr-x   3 mapr mapr    2910365 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_11.parquet
> -rwxr-xr-x   3 mapr mapr    2906479 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_12.parquet
> -rwxr-xr-x   3 mapr mapr    2900842 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_13.parquet
> -rwxr-xr-x   3 mapr mapr    2901196 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_14.parquet
> -rwxr-xr-x   3 mapr mapr    2909687 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_15.parquet
> -rwxr-xr-x   3 mapr mapr    2908603 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_16.parquet
> -rwxr-xr-x   3 mapr mapr    2903334 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_17.parquet
> -rwxr-xr-x   3 mapr mapr    2906378 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_18.parquet
> -rwxr-xr-x   3 mapr mapr    2904710 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_19.parquet
> -rwxr-xr-x   3 mapr mapr    2903170 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_2.parquet
> -rwxr-xr-x   3 mapr mapr    2908703 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_20.parquet
> -rwxr-xr-x   3 mapr mapr    2903634 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_21.parquet
> -rwxr-xr-x   3 mapr mapr    2898076 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_22.parquet
> -rwxr-xr-x   3 mapr mapr    2899426 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_23.parquet
> -rwxr-xr-x   3 mapr mapr    2903914 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_24.parquet
> -rwxr-xr-x   3 mapr mapr    2906561 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_25.parquet
> -rwxr-xr-x   3 mapr mapr    2899655 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_26.parquet
> -rwxr-xr-x   3 mapr mapr    2902479 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_27.parquet
> -rwxr-xr-x   3 mapr mapr    2905985 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_28.parquet
> -rwxr-xr-x   3 mapr mapr    2901645 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_29.parquet
> -rwxr-xr-x   3 mapr mapr    2901653 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_3.parquet
> -rwxr-xr-x   3 mapr mapr    2903008 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_30.parquet
> -rwxr-xr-x   3 mapr mapr    2898135 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_31.parquet
> -rwxr-xr-x   3 mapr mapr    2908631 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_32.parquet
> -rwxr-xr-x   3 mapr mapr    2903475 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_33.parquet
> -rwxr-xr-x   3 mapr mapr    2902909 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_34.parquet
> -rwxr-xr-x   3 mapr mapr    2901894 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_35.parquet
> -rwxr-xr-x   3 mapr mapr    2904224 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_36.parquet
> -rwxr-xr-x   3 mapr mapr    2909076 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_37.parquet
> -rwxr-xr-x   3 mapr mapr    2904889 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_38.parquet
> -rwxr-xr-x   3 mapr mapr    2913608 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_39.parquet
> -rwxr-xr-x   3 mapr mapr    2913936 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_4.parquet
> -rwxr-xr-x   3 mapr mapr    2906174 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_40.parquet
> -rwxr-xr-x   3 mapr mapr    2904253 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_41.parquet
> -rwxr-xr-x   3 mapr mapr    2903476 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_42.parquet
> -rwxr-xr-x   3 mapr mapr    2900126 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_43.parquet
> -rwxr-xr-x   3 mapr mapr    2905705 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_44.parquet
> -rwxr-xr-x   3 mapr mapr    2902369 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_45.parquet
> -rwxr-xr-x   3 mapr mapr    2903906 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_46.parquet
> -rwxr-xr-x   3 mapr mapr    2909380 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_47.parquet
> -rwxr-xr-x   3 mapr mapr    2903031 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_48.parquet
> -rwxr-xr-x   3 mapr mapr    2904777 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_49.parquet
> -rwxr-xr-x   3 mapr mapr    2899192 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_5.parquet
> -rwxr-xr-x   3 mapr mapr    2907455 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_6.parquet
> -rwxr-xr-x   3 mapr mapr    2906999 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_7.parquet
> -rwxr-xr-x   3 mapr mapr    2904151 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_8.parquet
> -rwxr-xr-x   3 mapr mapr    2905863 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_0_9.parquet
> -rwxr-xr-x   3 mapr mapr    2270312 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_1.parquet
> -rwxr-xr-x   3 mapr mapr    2270599 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_10.parquet
> -rwxr-xr-x   3 mapr mapr    2269672 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_11.parquet
> -rwxr-xr-x   3 mapr mapr    2274815 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_12.parquet
> -rwxr-xr-x   3 mapr mapr    2267282 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_13.parquet
> -rwxr-xr-x   3 mapr mapr    2266010 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_14.parquet
> -rwxr-xr-x   3 mapr mapr    2271821 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_15.parquet
> -rwxr-xr-x   3 mapr mapr    2270785 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_16.parquet
> -rwxr-xr-x   3 mapr mapr    2265995 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_17.parquet
> -rwxr-xr-x   3 mapr mapr    2271190 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_18.parquet
> -rwxr-xr-x   3 mapr mapr    2269116 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_19.parquet
> -rwxr-xr-x   3 mapr mapr    2268704 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_2.parquet
> -rwxr-xr-x   3 mapr mapr    2267580 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_20.parquet
> -rwxr-xr-x   3 mapr mapr    2265678 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_21.parquet
> -rwxr-xr-x   3 mapr mapr    2273167 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_22.parquet
> -rwxr-xr-x   3 mapr mapr    2274213 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_23.parquet
> -rwxr-xr-x   3 mapr mapr    2266500 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_24.parquet
> -rwxr-xr-x   3 mapr mapr    2266566 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_25.parquet
> -rwxr-xr-x   3 mapr mapr    2272232 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_26.parquet
> -rwxr-xr-x   3 mapr mapr    2270939 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_27.parquet
> -rwxr-xr-x   3 mapr mapr    2270231 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_28.parquet
> -rwxr-xr-x   3 mapr mapr    2264174 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_29.parquet
> -rwxr-xr-x   3 mapr mapr    2269219 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_3.parquet
> -rwxr-xr-x   3 mapr mapr    2270494 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_30.parquet
> -rwxr-xr-x   3 mapr mapr    2270156 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_31.parquet
> -rwxr-xr-x   3 mapr mapr    2268924 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_32.parquet
> -rwxr-xr-x   3 mapr mapr    2267579 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_33.parquet
> -rwxr-xr-x   3 mapr mapr    2272149 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_34.parquet
> -rwxr-xr-x   3 mapr mapr    2270060 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_35.parquet
> -rwxr-xr-x   3 mapr mapr    2271747 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_36.parquet
> -rwxr-xr-x   3 mapr mapr    2268924 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_37.parquet
> -rwxr-xr-x   3 mapr mapr    2273458 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_38.parquet
> -rwxr-xr-x   3 mapr mapr    2272753 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_39.parquet
> -rwxr-xr-x   3 mapr mapr    2272782 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_4.parquet
> -rwxr-xr-x   3 mapr mapr    2272757 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_40.parquet
> -rwxr-xr-x   3 mapr mapr    2271248 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_41.parquet
> -rwxr-xr-x   3 mapr mapr    2270459 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_42.parquet
> -rwxr-xr-x   3 mapr mapr    2268137 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_43.parquet
> -rwxr-xr-x   3 mapr mapr    2271262 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_44.parquet
> -rwxr-xr-x   3 mapr mapr    2265678 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_45.parquet
> -rwxr-xr-x   3 mapr mapr    2267805 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_46.parquet
> -rwxr-xr-x   3 mapr mapr    2270113 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_47.parquet
> -rwxr-xr-x   3 mapr mapr    2269154 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_48.parquet
> -rwxr-xr-x   3 mapr mapr    2269094 2015-06-29 17:56 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_49.parquet
> -rwxr-xr-x   3 mapr mapr    2267380 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_5.parquet
> -rwxr-xr-x   3 mapr mapr    2265674 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_6.parquet
> -rwxr-xr-x   3 mapr mapr    2275239 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_7.parquet
> -rwxr-xr-x   3 mapr mapr    2269091 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_8.parquet
> -rwxr-xr-x   3 mapr mapr    2266302 2015-06-29 17:55 
> /tmp/CTAS_ONE_MILN_RWS_PER_GROUP/1_1_9.parquet
> [root@centos-01 ~]# hadoop fs -ls /tmp/CTAS_ONE_MILN_RWS_PER_GROUP | wc -l
> 99
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to