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

David Mollitor commented on HIVE-23189:
---------------------------------------

[~kgyrtkirk] Thanks for your input.

I do see now the error of my ways.  I was working on [HIVE-23187] to allow to 
make the token {{TABLE}} in {{ANALYZE TABLE}} optional, after all what else 
could be analyzed?  The grammar did not allow me to do this because of this 
possibility:

{code:none}
EXPLAIN ANALYZE ANALYZE TABLE `myTable` COMPUTE STATISTICS;
{code}

So, my first thought was to change ANALYZE to PROFILE to match Impala.  
However, I have done some digging and see that PostegreSQL first had 
{{EXPLAIN}} analyze and then MySQL later adopted it.  No reason for Hive to 
move away from it.

I did notice that MySQL does not allow you to {{EXPLAIN ANALYZE}} an {{ANALYZE 
TABLE}} statement.  Perhaps we want to revisit that at another point.

{code:none}
{EXPLAIN | DESCRIBE | DESC}
    tbl_name [col_name | wild]

{EXPLAIN | DESCRIBE | DESC}
    [explain_type]
    {explainable_stmt | FOR CONNECTION connection_id}

{EXPLAIN | DESCRIBE | DESC} ANALYZE select_statement    

explain_type: {
    FORMAT = format_name
}

format_name: {
    TRADITIONAL
  | JSON
  | TREE
}

explainable_stmt: {
    SELECT statement
  | TABLE statement
  | DELETE statement
  | INSERT statement
  | REPLACE statement
  | UPDATE statement
}
{code}

https://dev.mysql.com/doc/refman/8.0/en/explain.html

> Change Explain ANALYZE to Explain PROFILE
> -----------------------------------------
>
>                 Key: HIVE-23189
>                 URL: https://issues.apache.org/jira/browse/HIVE-23189
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Major
>         Attachments: HIVE-23189.1.patch
>
>
> {code:none}
> EXPLAIN 
> [EXTENDED|CBO|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] query
> {code}
> https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain#LanguageManualExplain-TheANALYZEClause
> In Hive, there is an {{EXPLAIN ANALYZE}} query.  This can get a bit confusing 
> because you can run an {{EXPLAIN ANALYZE}} against an {{ANALYZE TABLE}} 
> statement, so you have something like,...
> {code:sql}
> EXPLAIN ANALYZE ANALYZE TABLE `myTable` COMPUTE STATISTICS;
> {code}
> I would like to propose that the name be changed to {{EXPLAIN PROFILE}}.  
> This borrows from Apache Impala because it has a {{PROFILE}} command which 
> produces the stats that actually occurred during the query run (much like 
> this Hive feature).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to