[ 
https://issues.apache.org/jira/browse/HIVE-29217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18028586#comment-18028586
 ] 

Stamatis Zampetakis commented on HIVE-29217:
--------------------------------------------

[~soumyakanti.das] Without adding a new configuration it is not possible to set 
CBO materialization as default. The main goal of this change is to make the two 
materialization strategies independent of each other. Other than that the CBO 
strategy is still experimental so it cannot be the default at this point in 
time.

> Add configuration to choose materialization strategy for CTEs
> -------------------------------------------------------------
>
>                 Key: HIVE-29217
>                 URL: https://issues.apache.org/jira/browse/HIVE-29217
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>              Labels: pull-request-available
>
> Currently there are two ways for materializing common table expressions 
> (CTEs) that are present in SQL queries.
> +SQL/AST based materialization+
> It was introduced in HIVE-11752 and relies on the syntax of SQL queries 
> specifically in presence of WITH clauses. It is performed early on during the 
> semantic analysis and triggers before any kind of optimization.
> +CBO based materialization+
> It was introduced in HIVE-28259 and relies on plan equivalences. It is 
> performed during the cost based optimization phase and after the initial 
> analysis.
> Currently the two strategies interfere with each other and in various cases 
> if they are both enabled they can affect negatively the performance due to 
> excessive materialization.
> Another drawback is that if a query contains a WITH clause we cannot bypass 
> the AST materialization (and let the materialization decision entirely on 
> CBO) so we are risking a non-optimal choice purely based on the syntax of the 
> query.
> I propose adding a new configuration property for explicitly selecting 
> between AST and CBO materialization allowing each materialization strategy to 
> be applied independently of the other.
> In order to avoid changes in behavior and retain backward compatibility the 
> default materialization strategy will use the old AST based approach.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to