> On May 10, 2017, 9:26 a.m., Jason Dere wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/DynamicPartitionPruningOptimization.java
> > Line 463 (original), 505 (patched)
> > <https://reviews.apache.org/r/59080/diff/2/?file=1713527#file1713527line524>
> >
> >     This didn't get changed?

My bad.


> On May 10, 2017, 9:26 a.m., Jason Dere wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
> > Line 9033 (original), 9032 (patched)
> > <https://reviews.apache.org/r/59080/diff/2/?file=1713529#file1713529line9033>
> >
> >     I still think this is more complicated than this needs to be. Easier to 
> > follow if it was something like this:
> >     
> >     alias = args.getChild(0)
> >     if (StringUtils.isNumeric(alias)) ...
> >     colName = args.getChild(1)
> >     if (StringUtils.isNumeric(colName)) ...
> >     if (args.getChildCount == 3) {
> >       number = Integer.parseInt(args.getChild(2))
> >     }

The number of children is not 2 or 3. It is a list of all the hints. Say a user 
can create like this "semi(tab1, col1, tab2, col2, 5000, tab3, col3, 6000, 
tab4, col4)".
They will all be processed in that for loop.
I did find a bug in the code which I have fixed locally where if the last hint 
does not have bloom filter entry, it would not be added to the map.


- Deepak


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59080/#review174436
-----------------------------------------------------------


On May 10, 2017, 5:24 a.m., Deepak Jaiswal wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59080/
> -----------------------------------------------------------
> 
> (Updated May 10, 2017, 5:24 a.m.)
> 
> 
> Review request for hive and Jason Dere.
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Semijoin Hint : Should able to handle more than 1 hint per alias.
> - If a user provides a hint, only that semijoin optimization is performed.
> - If there are more than 1 hints for an alias, it is upto user to make sure 
> the (alias + colName) combo is unique.
> - Works with join aliases.
> - Refactored the logic to generate semijoin to keep the inner loops count 
> down.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 99c26ce80e 
>   
> ql/src/java/org/apache/hadoop/hive/ql/optimizer/DynamicPartitionPruningOptimization.java
>  d4ca78c625 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java 6de4bcd64a 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 
> 5115fc8090 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java 1f24e23ff3 
>   ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 
> bfc1eca61a 
>   ql/src/test/queries/clientpositive/semijoin_hint.q 5fbc273e7d 
>   ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out 
> e3ffcfa857 
>   ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out 
> cb69251274 
>   ql/src/test/results/clientpositive/llap/semijoin_hint.q.out 3ffc2352a4 
> 
> 
> Diff: https://reviews.apache.org/r/59080/diff/2/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Deepak Jaiswal
> 
>

Reply via email to