Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-6173

Support transitive closure during filter push down and partition pruning

    XMLWordPrintableJSON

Details

    Description

      There is Calcite rule JoinPushTransitivePredicatesRule but it does not work in Drill.
      Applying it in Drill will allow for equi-join queries to push filter condition from one table to another:

      select * 
      from A, B 
      where
      A.id = B.id and 
      B.id = 100
      

      In that case it is possible that Scan operator for A table will not scan all data.
      For table A it can lead for applying:
      1. Partition pruning for Hive tables and partiotion/directory pruning for file system tables
      2. Parquet filter pushdown

       

      Note: transitive closure doesn't work for some cases, these Calcite issues can resolve them:
      CALCITE-1048, CALCITE-2274, CALCITE-2275, CALCITE-2241. They are tracked by DRILL-6350

      Attachments

        Issue Links

          Activity

            People

              vitalii Vitalii Diravka
              vitalii Vitalii Diravka
              Aman Sinha Aman Sinha
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: