[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-07-16 Thread Zoltan Haindrich (JIRA)


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

Zoltan Haindrich commented on HIVE-21713:
-

Makes sense to me :)
Could you submit a patch with the proposed changes?

note: optionally, you could write a hook to programatically check that 
operator/task names conform to the new naming conventions
an example of a hook like that could be found here: 
./ql/src/java/org/apache/hadoop/hive/ql/hooks/NoOperatorReuseCheckerHook.java
and if you add it to "hive.exec.post.hooks" in "data/conf/llap/hive-site.xml" - 
it will be invoked during qtest runs


> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Assignee: Manoj Narayanan
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-07-13 Thread Manoj Narayanan (JIRA)


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

Manoj Narayanan commented on HIVE-21713:


|OperatorClass|OfType|Current Explain String|Proposed 
Name|NeedsChange|hasOperator|hasTask|ChangeToOperator|AddOperator|
|CommonMergeJoinOperator|CommonMergeJoinDesc|Merge Join Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|SMBMapJoinOperator|SMBJoinDesc|Sorted Merge Bucket Map Join Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|ScriptOperator|ScriptDesc|Transform Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|AbstractMapOperator|MapWork|NO_EXPLAIN_STRING| |FALSE|FALSE|FALSE|FALSE|TRUE|
|AbstractMapJoinOperator|MapJoinDesc|Map Join Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|GroupByOperator|GroupByDesc|Group By Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|LimitOperator|LimitDesc|Limit|Limit Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|AbstractFileMergeOperator|FileMergeDesc|NO_EXPLAIN_STRING| 
|FALSE|FALSE|FALSE|FALSE|TRUE|
|HashTableDummyOperator|HashTableDummyDesc|HashTable Dummy Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|SelectOperator|SelectDesc|Select Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|LateralViewJoinOperator|LateralViewJoinDesc|Lateral View Join Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|ReduceSinkOperator|ReduceSinkDesc|Reduce Output Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|HashTableSinkOperator|HashTableSinkDesc|HashTable Sink Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|ForwardOperator|ForwardDesc|Forward|Forward 
Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|TableScanOperator|TableScanDesc|TableScan|TableScan 
Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|TopNKeyOperator|TopNKeyDesc|Top N Key Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|TopNKeyOperator|TopNKeyDesc|keys|TopNKeyOperator|TRUE|FALSE|FALSE|FALSE|TRUE|
|FileSinkOperator|FileSinkDesc|File Output Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|JoinOperator|JoinDesc|Join Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|UnionOperator|UnionDesc|Union|Union Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|UDTFOperator|UDTFDesc|UDTF Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|CollectOperator|CollectDesc|Collect|Collect 
Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|FilterOperator|FilterDesc|Filter Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|MapJoinOperator|MapJoinDesc|Map Join Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|DemuxOperator|DemuxDesc|Demux Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|PTFOperator|PTFDesc|PTF Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|AppMasterEventOperator|AppMasterEventDesc|Application Master Event Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|LateralViewForwardOperator|LateralViewForwardDesc|Lateral View Forward|Lateral 
View Forward Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|CommonJoinOperator|JoinDesc|Join Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|DummyStoreOperator|DummyStoreDesc|Dummy Store|Dummy Store 
Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|MuxOperator|MuxDesc|Mux Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|ListSinkOperator|ListSinkDesc|ListSink|List Sink 
Operator|TRUE|FALSE|FALSE|FALSE|TRUE|
|FetchOperator|FetchWork|Fetch Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|MapOperator| |NO_EXPLAIN_STRING| | | | | | |
|OrcFileMergeOperator|OrcFileMergeDesc|ORC File Merge Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|RCFileMergeOperator|RCFileMergeDesc|RCFile Merge Operator| 
|FALSE|TRUE|FALSE|FALSE|FALSE|
|SparkHashTableSinkOperator|SparkHashTableSinkDesc|Spark HashTable Sink 
Operator| |FALSE|TRUE|FALSE|FALSE|FALSE|
|TemporaryHashSinkOperator| |HashTable Sink Operator|Temporary HashSink 
Operator| | | | | |
|TezDummyStoreOperator| |Dummy Store|Tez DummyStore Operator| | | | | |
| | | | | | | | | |
|OperatorClass|OfType|ExplainString| 
|NeedsChange|hasOperator|hasTask|ChangeToTask|AddTask|
| | | | | | | | | |
|FunctionTask|FunctionWork|NO_EXPLAIN_STRING|Function 
Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|DDLTask|DDLWork|NO_EXPLAIN_STRING|DDL Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|FetchTask|FetchWork|Fetch Operator|Fetch Task|TRUE|FALSE|TRUE|TRUE|FALSE|
|ReplCopyTask|ReplCopyWork|Repl Copy|Replication Copy 
Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|ConditionalTask|ConditionalWork|Conditional Operator|Conditional 
Task|TRUE|FALSE|TRUE|TRUE|FALSE|
|MaterializedViewTask|MaterializedViewDesc|Materialized View 
Work|MaterializedView Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|ColumnStatsUpdateTask|ColumnStatsUpdateWork|Column Stats Update Work|Column 
Stats UpdateTask|TRUE|FALSE|FALSE|FALSE|TRUE|
|ReplTxnTask|ReplTxnWork|Replication Transaction|Replication Transaction 
Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|DependencyCollectionTask|DependencyCollectionWork|Dependency 
Collection|Dependency Collection Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|ExplainTask|ExplainWork|NO_EXPLAIN_STRING|Explain 
Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|ExportTask|ExportWork|Export Work|Export Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|CopyTask|CopyWork|Copy|Copy Task|TRUE|FALSE|FALSE|FALSE|TRUE|
|MoveTask|MoveWork|Move Oper

[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-07-13 Thread Manoj Narayanan (JIRA)


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

Manoj Narayanan commented on HIVE-21713:


Ok. I think we should 
* Have Operator or Task at the end based on the type.
* Operator/Task Class name where words are separated by space.  (That's how 
currently most of Operators are named)
* No changes if already above rule is met. (for e.g.:Merge Join Operator)


> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Assignee: Manoj Narayanan
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-07-08 Thread Zoltan Haindrich (JIRA)


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

Zoltan Haindrich commented on HIVE-21713:
-

wow :)
what a great overview about these things! sorry for getting back to this just 
now...I've overlooked the notification...
there are quite a few "very" interesting onse; like "keys" for TopNKeyOperator 
:D
I think [~mnarayanan2018] you have exposed this problem very well; some of them 
are very exotic - I think the best would be if you could came up with a logical 
naming scheme and propose to rename them!

> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Assignee: Manoj Narayanan
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-06-26 Thread Manoj Narayanan (JIRA)


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

Manoj Narayanan commented on HIVE-21713:


In the above comment I tried to document each Operator and Task I could find 
and what their 'ExplainString' is. Also tried to note whether it should be 
changed (Column Needschange) and if so whether it should 'Add Operator' or 
'Change to Operator' or 'Add Task' or 'Change to Task'. 

> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-06-26 Thread Manoj Narayanan (JIRA)


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

Manoj Narayanan commented on HIVE-21713:


|OperatorClass|OfType|ExplainString|hasOperator|hasTask|NeedsChange|ChangeToOperator|AddOperator|
|CommonMergeJoinOperator|CommonMergeJoinDesc|Merge Join 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|SMBMapJoinOperator|SMBJoinDesc|Sorted Merge Bucket Map Join 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|ScriptOperator|ScriptDesc|Transform Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|AbstractMapOperator|MapWork|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
|AbstractMapJoinOperator|MapJoinDesc|Map Join 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|GroupByOperator|GroupByDesc|Group By Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|LimitOperator|LimitDesc|Limit|FALSE|FALSE|TRUE|FALSE|TRUE|
|AbstractFileMergeOperator|FileMergeDesc|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
|HashTableDummyOperator|HashTableDummyDesc|HashTable Dummy 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|SelectOperator|SelectDesc|Select Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|LateralViewJoinOperator|LateralViewJoinDesc|Lateral View Join 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|ReduceSinkOperator|ReduceSinkDesc|Reduce Output 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|HashTableSinkOperator|HashTableSinkDesc|HashTable Sink 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|ForwardOperator|ForwardDesc|Forward|FALSE|FALSE|TRUE|FALSE|TRUE|
|TableScanOperator|TableScanDesc|TableScan|FALSE|FALSE|TRUE|FALSE|TRUE|
|TopNKeyOperator|TopNKeyDesc|Top N Key Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|TopNKeyOperator|TopNKeyDesc|keys|FALSE|FALSE|TRUE|FALSE|TRUE|
|FileSinkOperator|FileSinkDesc|File Output 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|JoinOperator|JoinDesc|Join Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|UnionOperator|UnionDesc|Union|FALSE|FALSE|TRUE|FALSE|TRUE|
|UDTFOperator|UDTFDesc|UDTF Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|CollectOperator|CollectDesc|Collect|FALSE|FALSE|TRUE|FALSE|TRUE|
|FilterOperator|FilterDesc|Filter Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|MapJoinOperator|MapJoinDesc|Map Join Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|DemuxOperator|DemuxDesc|Demux Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|PTFOperator|PTFDesc|PTF Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|AppMasterEventOperator|AppMasterEventDesc|Application Master Event 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|LateralViewForwardOperator|LateralViewForwardDesc|Lateral View 
Forward|FALSE|FALSE|TRUE|FALSE|TRUE|
|CommonJoinOperator|JoinDesc|Join Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|DummyStoreOperator|DummyStoreDesc|Dummy Store|FALSE|FALSE|TRUE|FALSE|TRUE|
|MuxOperator|MuxDesc|Mux Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|ListSinkOperator|ListSinkDesc|ListSink|FALSE|FALSE|TRUE|FALSE|TRUE|
|FetchOperator|FetchWork|Fetch Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|MapOperator| | | | | | | |
|OrcFileMergeOperator|OrcFileMergeDesc|ORC File Merge 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|RCFileMergeOperator|RCFileMergeDesc|RCFile Merge 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|SparkHashTableSinkOperator|SparkHashTableSinkDesc|Spark HashTable Sink 
Operator|TRUE|FALSE|FALSE|FALSE|FALSE|
|TemporaryHashSinkOperator| |HashTable Sink Operator| | | | | |
|TezDummyStoreOperator| |Dummy Store| | | | | |
| | | | | | | | |
|OperatorClass|OfType|ExplainString|hasOperator|hasTask|NeedsChange|ChangeToTask|AddTask|
| | | | | | | | |
|FunctionTask|FunctionWork|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
| | | | | | | | |
|DDLTask|DDLWork|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
|FetchTask|FetchWork|Fetch Operator|FALSE|TRUE|TRUE|TRUE|FALSE|
|ReplCopyTask|ReplCopyWork|Repl Copy|FALSE|FALSE|TRUE|FALSE|TRUE|
|ConditionalTask|ConditionalWork|Conditional 
Operator|FALSE|TRUE|TRUE|TRUE|FALSE|
|MaterializedViewTask|MaterializedViewDesc|Materialized View 
Work|FALSE|FALSE|TRUE|FALSE|TRUE|
|ColumnStatsUpdateTask|ColumnStatsUpdateWork|Column Stats Update 
Work|FALSE|FALSE|TRUE|FALSE|TRUE|
|ReplTxnTask|ReplTxnWork|Replication Transaction|FALSE|FALSE|TRUE|FALSE|TRUE|
|DependencyCollectionTask|DependencyCollectionWork|Dependency 
Collection|FALSE|FALSE|TRUE|FALSE|TRUE|
|ExplainTask|ExplainWork|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
|ExportTask|ExportWork|Export Work|FALSE|FALSE|TRUE|FALSE|TRUE|
|CopyTask|CopyWork|Copy|FALSE|FALSE|TRUE|FALSE|TRUE|
|MoveTask|MoveWork|Move Operator|FALSE|TRUE|TRUE|TRUE|FALSE|
|ExplainSQRewriteTask|ExplainSQRewriteWork|NO_EXPLAIN_STRING|FALSE|FALSE|TRUE|FALSE|TRUE|
|StatsTask|StatsWork|Stats Work|FALSE|FALSE|TRUE|FALSE|TRUE|
| | | | | | |

> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Priority: Major
>
> there seems to

[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-05-27 Thread Zoltan Haindrich (JIRA)


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

Zoltan Haindrich commented on HIVE-21713:
-

[~mnarayanan2018]: yes; I was thinking about that line.

There are 2 kind of things:
* there are "tasks" which belong to the type tree of: Task
* and there are "operators" which belong to Operator 

Calling "operator" the first one might be misleading in explain outputs

> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HIVE-21713) Explain consistency Task/Operator

2019-05-27 Thread Manoj Narayanan (JIRA)


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

Manoj Narayanan commented on HIVE-21713:


[~kgyrtkirk] I assume you are referring to changing the name given here, 

[https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/plan/MoveWork.java#L35].

 

I assume it must be a straight forward change. But I had a few questions,

it seems at least some of  Explain classes are named as Operator. I did a code 
search and 66 classes had named as Operator out of total 600 odd ones.  Only 1 
of them had Task in the name. If that is the case, is it a convention to have 
Operator in the name ? So is it OK to continue to name it as 'Move Operator' ? 
Just wanted to confirm before proceeding with a  patch. 

find . -name \*.java | grep -v Test | xargs grep  @Explain | grep display | 
grep -i operator | wc -l

      66

find . -name \*.java | grep -v Test | xargs grep  @Explain | grep display | wc 
-l

     641

find . -name \*.java | grep -v Test | xargs grep  @Explain | grep display | 
grep -i task |wc -l

       2

 

> Explain consistency Task/Operator
> -
>
> Key: HIVE-21713
> URL: https://issues.apache.org/jira/browse/HIVE-21713
> Project: Hive
>  Issue Type: Improvement
>Reporter: Zoltan Haindrich
>Priority: Major
>
> there seems to be some inconsistency what gets printed in the explain;
> for example "MoveTask" is shown as "Move Operator" in the explain
> Becase Tasks and Operators are basically different things - this should be 
> corrected as it may cause confusion



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)