hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vineet Garg <vg...@hortonworks.com>
Subject Re: Review Request 54517: HIVE-15192: Subquery support with Calcite
Date Fri, 16 Dec 2016 01:53:40 GMT


> On Dec. 13, 2016, 1:51 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveReplicatedRelBuilder.java,
line 111
> > <https://reviews.apache.org/r/54517/diff/3/?file=1582082#file1582082line111>
> >
> >     Add a TODO about removing this class once we upgrade caclite to 1.10 referencing
calcite jira.

TODO: Rename it - DONE


> On Dec. 13, 2016, 1:51 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveFilter.java,
line 82
> > <https://reviews.apache.org/r/54517/diff/3/?file=1582083#file1582083line82>
> >
> >     Each HiveFilter will be visited by RelShuttle. Why do we need to traverse the
tree here?
> 
> Vineet Garg wrote:
>     RelShuttle is used by decorrelation logic but SubqueryRemoveRule uses getVariableSet
function which needs to traverse the filter to get set of all corr vars.

TODO: Enhance this logic


> On Dec. 13, 2016, 1:51 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java,
line 419
> > <https://reviews.apache.org/r/54517/diff/3/?file=1582086#file1582086line419>
> >
> >     This can be removed since we alreafy have overloaded version of this with HiveAggregate.
> 
> Vineet Garg wrote:
>     We can not remove this since at this point we have a plan with mix of LogicalAggregate
and HiveAggregate. Decorrelator uses reflection to dynamically figure out the type and call
appropriate method.

TODO: Replace this with call on Aggregate


> On Dec. 13, 2016, 1:51 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttle.java, lines
26-29
> > <https://reviews.apache.org/r/54517/diff/3/?file=1582080#file1582080line26>
> >
> >     Calcite's RelShuttle should work on Project and not LogicalProject. Can you
raise this on calcite list, seems like that interface needs to be enhanced.

Logged in CALCITE-1541 & CALCITE-1542


- Vineet


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


On Dec. 12, 2016, 6:17 p.m., Vineet Garg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54517/
> -----------------------------------------------------------
> 
> (Updated Dec. 12, 2016, 6:17 p.m.)
> 
> 
> Review request for hive and Ashutosh Chauhan.
> 
> 
> Bugs: HIVE-15192
>     https://issues.apache.org/jira/browse/HIVE-15192
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> This patch is 1st phase of getting rid of Hive's subquery transformation and de-corelation
logic and leverage Calcite's functionality to plan sub-queries.
> 
> Known issues with this patch
> * Few return path tests are failing and are disabled with this patch.
> * Semi-join optimization (HIVE-15227) is disabled currently as it doesn't work with this
patch.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 9064e49 
>   itests/src/test/resources/testconfiguration.properties aa3d72d 
>   ql/src/java/org/apache/hadoop/hive/ql/lib/SubQueryWalker.java PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttle.java PRE-CREATION

>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelShuttleImpl.java PRE-CREATION

>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveReplicatedRelBuilder.java
PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveFilter.java
0410c91 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveJoin.java
ba9483e 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveProject.java
3e0a9a6 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java
PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java
PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java
d494c9f 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/RexNodeConverter.java
f8fb475 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java f1f3bf9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/QBSubQuery.java 3458fb6 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 79e55b2 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java 02896ff 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java ace3eaf 
>   ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeSubQueryDesc.java PRE-CREATION 
>   ql/src/test/queries/clientnegative/subquery_nested_subquery.q  
>   ql/src/test/queries/clientnegative/subquery_restrictions.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/subquery_shared_alias.q  
>   ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q cbfb5d5 
>   ql/src/test/queries/clientpositive/join31.q c79105f 
>   ql/src/test/queries/clientpositive/multiMapJoin2.q cf5dbb0 
>   ql/src/test/queries/clientpositive/semijoin5.q 3e7c20a 
>   ql/src/test/queries/clientpositive/subquery_in.q c01ae70 
>   ql/src/test/queries/clientpositive/subquery_notin.q 3f4fb7f 
>   ql/src/test/queries/clientpositive/subquery_notin_having.q 05148df 
>   ql/src/test/results/clientnegative/subquery_in_groupby.q.out 809bb0a 
>   ql/src/test/results/clientnegative/subquery_in_select.q.out 3d74132 
>   ql/src/test/results/clientnegative/subquery_nested_subquery.q.out 140b093 
>   ql/src/test/results/clientnegative/subquery_restrictions.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/constant_prop_3.q.out 58f1065 
>   ql/src/test/results/clientpositive/constprog_partitioner.q.out d1016ad 
>   ql/src/test/results/clientpositive/llap/cbo_rp_subq_in.q.out f6bfad2 
>   ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out f993cf0 
>   ql/src/test/results/clientpositive/llap/explainuser_1.q.out 70ec02f 
>   ql/src/test/results/clientpositive/llap/lineage3.q.out 1a532da 
>   ql/src/test/results/clientpositive/llap/subquery_exists.q.out 1a006d8 
>   ql/src/test/results/clientpositive/llap/subquery_in.q.out 321f1cc 
>   ql/src/test/results/clientpositive/llap/subquery_nested_subquery.q.out PRE-CREATION

>   ql/src/test/results/clientpositive/llap/subquery_notin.q.out 3da1acb 
>   ql/src/test/results/clientpositive/llap/subquery_shared_alias.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/llap/subquery_views.q.out 35e80ae 
>   ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out ff658d7 
>   ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out a075662 
>   ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
76c8404 
>   ql/src/test/results/clientpositive/masking_3.q.out 1925dce 
>   ql/src/test/results/clientpositive/masking_4.q.out 7e923e8 
>   ql/src/test/results/clientpositive/perf/query45.q.out 7bc137c 
>   ql/src/test/results/clientpositive/perf/query70.q.out 611af74 
>   ql/src/test/results/clientpositive/semijoin4.q.out 3c065a9 
>   ql/src/test/results/clientpositive/semijoin5.q.out 63b477c 
>   ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out 567c6d3 
>   ql/src/test/results/clientpositive/spark/subquery_exists.q.out b58fcbe 
>   ql/src/test/results/clientpositive/spark/subquery_in.q.out 21a48ec 
>   ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out 012c3eb 
>   ql/src/test/results/clientpositive/subq_where_serialization.q.out f689651 
>   ql/src/test/results/clientpositive/subquery_exists.q.out 86f9089 
>   ql/src/test/results/clientpositive/subquery_exists_having.q.out 8861c82 
>   ql/src/test/results/clientpositive/subquery_in_having.q.out 854aa36 
>   ql/src/test/results/clientpositive/subquery_notexists.q.out ede7855 
>   ql/src/test/results/clientpositive/subquery_notexists_having.q.out 9349f2d 
>   ql/src/test/results/clientpositive/subquery_notin_having.q.out 804f411 
>   ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out c7e1f02 
>   ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out 3468657 
>   ql/src/test/results/clientpositive/vector_mapjoin_reduce.q.out 160b088 
> 
> Diff: https://reviews.apache.org/r/54517/diff/
> 
> 
> Testing
> -------
> 
> * Added new tests.
> * Pre-commit testing on-going
> 
> 
> Thanks,
> 
> Vineet Garg
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message