[
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)