XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.0
    • Component/s: None

      Description

      The decision of pushing down information to the Record reader (potentially reducing decoding time by row-level filtering) should be done at query compilation time.

      This patch adds an extra optimisation step with the goal of finding Table Scan operators that could reduce the number of rows decoded at runtime using extra available information.

      It currently looks for all the available MapJoin operators that could use the smaller HashTable on the probing side (where TS is) to filter-out rows that would never match.
      To do so the HashTable information is pushed down to the TS properties and then propagated as part of MapWork.
      If the a single TS is used by multiple operators (shared-word), this rule can not be applied.

      This rule can be extended to support static filter expressions like:
      select * from sales where sold_state = 'PR';

      This optimisation manly targets the Tez execution engine running on Llap.

        Attachments

        1. HIVE-23006.01.patch
          99 kB
          Panagiotis Garefalakis
        2. HIVE-23006.02.patch
          99 kB
          Panagiotis Garefalakis
        3. HIVE-23006.03.patch
          63 kB
          Panagiotis Garefalakis
        4. HIVE-23006.04.patch
          63 kB
          Panagiotis Garefalakis
        5. HIVE-23006.05.patch
          63 kB
          Panagiotis Garefalakis
        6. HIVE-23006.06.patch
          63 kB
          Panagiotis Garefalakis
        7. HIVE-23006.07.patch
          63 kB
          Panagiotis Garefalakis
        8. HIVE-23006.08.patch
          63 kB
          Panagiotis Garefalakis

          Issue Links

            Activity

              People

              • Assignee:
                pgaref Panagiotis Garefalakis
                Reporter:
                pgaref Panagiotis Garefalakis
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 10m
                  3h 10m