[
https://issues.apache.org/jira/browse/SPARK-19598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867548#comment-15867548
]
Song Jun edited comment on SPARK-19598 at 2/15/17 9:46 AM:
-----------------------------------------------------------
[~rxin] When I do this jira, I found it that it is not proper to remove
UnresolvedRelation's alias argument. If we remove it and use SubqueryAlias,
that is:
{quote}SubqueryAlias(alias,UnresolvedRelation(tableIdentifier),None){quote}
to replace
{quote}UnresolvedRelation(tableIdentifier, alias){quote}
While there are lots of *match case* codes for *UnresolvedRelation*, and in
matched logic it will use the alias parameter of *UnresolvedRelation*,
currently table with/without alias can processed in one *match case
UnresolvedRelation* logic, after this change, we should process table with
alias and without alias seperately in two *match case*:
{quote}
case u:UnresolvedRelation => func(u,None)
case s@SubqueryAlias(alias,u:UnresolvedRelation,_) => func(u, alias)
{quote}
such as:
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala#L589-L591
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala#L626
Is this right? Or am I missing something?
was (Author: windpiger):
[~rxin] When I do this jira, I found it that it is not proper to remove
UnresolvedRelation's alias argument. If we remove it and use SubqueryAlias,
that is:
{quote}SubqueryAlias(alias,UnresolvedRelation(tableIdentifier),None){quote}
to replace
{quote}UnresolvedRelation(tableIdentifier, aliase){quote}
While there are lots of *match case* codes for *UnresolvedRelation*, and in
matched logic it will use the alias parameter of *UnresolvedRelation*,
currently table with/without alias can processed in one *match case
UnresolvedRelation* logic, after this change, we should process table with
alias and without alias seperately in two *match case*:
{quote}
case u:UnresolvedRelation => func(u,None)
case s@SubqueryAlias(alias,u:UnresolvedRelation,_) => func(u, alias)
{quote}
such as:
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala#L589-L591
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala#L626
Is this right? Or am I missing something?
> Remove the alias parameter in UnresolvedRelation
> ------------------------------------------------
>
> Key: SPARK-19598
> URL: https://issues.apache.org/jira/browse/SPARK-19598
> Project: Spark
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 2.2.0
> Reporter: Reynold Xin
>
> UnresolvedRelation has a second argument named "alias", for assigning the
> relation an alias. I think we can actually remove it and replace its use with
> a SubqueryAlias.
> This would actually simplify some analyzer code to only match on
> SubqueryAlias. For example, the broadcast hint pull request can have one
> fewer case https://github.com/apache/spark/pull/16925/files.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]