pgaref commented on a change in pull request #952: HIVE-23006 ProbeDecode
compiler support
URL: https://github.com/apache/hive/pull/952#discussion_r406148931
##########
File path: ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java
##########
@@ -1483,17 +1489,64 @@ private void
removeSemijoinsParallelToMapJoin(OptimizeTezProcContext procCtx)
}
}
- 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 Jesus, SJ removal and MJ probedecode are independent from my point of
view, and thats what I was trying to achieve here -- when
TEZ_DYNAMIC_SEMIJOIN_REDUCTION_FOR_MAPJOIN is not enabled SJ removal is
triggered (similar to existing code) and when HIVE_OPTIMIZE_SCAN_PROBEDECODE is
enabled we do the extra the MJ to TS selection.
I am not sure there is a case where these two optimizations could affect
each other (?) but currently they are completely independent.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]