hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <>
Subject [jira] [Work logged] (HIVE-23006) Compiler support for Probe MapJoin
Date Mon, 06 Apr 2020 19:09:00 GMT


ASF GitHub Bot logged work on HIVE-23006:

                Author: ASF GitHub Bot
            Created on: 06/Apr/20 19:08
            Start Date: 06/Apr/20 19:08
    Worklog Time Spent: 10m 
      Work Description: pgaref commented on pull request #952: HIVE-23006 ProbeDecode compiler

 File path: ql/src/java/org/apache/hadoop/hive/ql/parse/
 @@ -1483,17 +1489,64 @@ private void removeSemijoinsParallelToMapJoin(OptimizeTezProcContext
-    if (semijoins.size() > 0) {
-      for (ReduceSinkOperator rs : semijoins.keySet()) {
-        if (LOG.isDebugEnabled()) {
-          LOG.debug("Semijoin optimization with parallel edge to map join. Removing semijoin
-              + OperatorUtils.getOpNamePretty(rs) + " - " + OperatorUtils.getOpNamePretty(semijoins.get(rs)));
+    if (!procCtx.conf.getBoolVar(ConfVars.TEZ_DYNAMIC_SEMIJOIN_REDUCTION_FOR_MAPJOIN)) {
+      if (semijoins.size() > 0) {
 Review comment:
   Hey @jcamachor  -- in this case I just followed the logic [above](
where we  bail-out when 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

Issue Time Tracking

    Worklog Id:     (was: 417042)
    Time Spent: 1h 40m  (was: 1.5h)

> Compiler support for Probe MapJoin
> ----------------------------------
>                 Key: HIVE-23006
>                 URL:
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Panagiotis Garefalakis
>            Assignee: Panagiotis Garefalakis
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
> 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
> 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.

This message was sent by Atlassian Jira

View raw message