mayankkunwar commented on code in PR #5707: URL: https://github.com/apache/hive/pull/5707#discussion_r2017066386
########## ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezUtils.java: ########## @@ -182,6 +187,30 @@ public static ReduceWork createReduceWork( return reduceWork; } + private static boolean hasBucketMapJoin(Operator<? extends OperatorDesc> operator) { + if (operator == null) { + return false; + } + + // Iterate over child operators + for (Operator<? extends OperatorDesc> childOp : operator.getChildOperators()) { + // Check if this is a MapJoinOperator and is a Bucket Map Join + if (childOp instanceof MapJoinOperator) { + MapJoinOperator mjOp = (MapJoinOperator) childOp; + if (mjOp.getConf().isBucketMapJoin()) { + return true; // Found BMJ, no need to check further + } + } + + // Recursively check children + if (hasBucketMapJoin(childOp)) { + return true; + } Review Comment: Getting the following final DAG for **EXPLAIN** query for the query mentioned in the bucketmapjoin_auto_reduce_parallel.q file : ```hiveql explain extended select * from target_table2 t inner join (select distinct date_col, 'pipeline' string_col, decimal_col from source_table2 where coalesce(decimal_col,'') = '50000000000000000005905545593') s on s.date_col = t.date_col AND s.string_col = t.string_col AND s.decimal_col = t.decimal_col; ``` ``` #### A masked pattern was here #### Edges: Map 1 <- Reducer 3 (CUSTOM_EDGE) Reducer 3 <- Map 2 (SIMPLE_EDGE) ``` -- 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. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org