amaliujia commented on PR #38806:
URL: https://github.com/apache/spark/pull/38806#issuecomment-1329630889

   > From API evolving perspective, I'm fine with wrapping the expressions in 
the Column. In an ideal case, I think it might make most sense if the logical 
plan only deals with Expressions and not Columns because the Column is the 
public facing 
   interface.
   
   We can do it. I am not sure if this can be bring you much convenience 
though. For example we can pass the wrapped expression (`column._expr`) into 
LogicalPlan, but that is a base class. In this case, use `Column` and use 
`Expression` are not making big difference. We can pass `Expression` for 
simplification. 
   
   I guess you are thinking we pass the right sub-class of Expression to a 
LogicalPlan? Hmmm we might still be able to do. It sounds like we need to some 
isinstance for mypy.  If you want to go to this approach I would prefer to 
check it as follow ups.
   
   
   > 
   > Similarly with mapping `str`. This needs to be done before invoking the 
logical plan.
   > 
   
   I agree with this. DataFrame API needs to understand the strings can wrap 
accordingly. LogicalPlan only deal with Expressions/Columns which have stronger 
semantics. 
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to