drusso edited a comment on pull request #8727:
URL: https://github.com/apache/arrow/pull/8727#issuecomment-731762369


   On the topic of table aliasing:
   
   For example:
   
   ```rust
   let df_source = ctx.read_parquet(&parquet_source())?;
   let df_in1 = df_source.select_columns(vec!["string_col", "int_col"])?;
   let df_in2 = df_source.select_columns(vec!["string_col", "int_col"])?;
   let df_join = df_in1.join(df_in2, JoinType::Inner, &["string_col"], 
&["string_col"])?;
   let results = df_join.collect().await?;
   ```
   
   Will yield:
   
   ```
   Error: Plan("The left schema and the right schema have the following columns 
with the same name without being on the ON statement: {\"int_col\"}. Consider 
aliasing them.")
   ```
   
   Of course the workaround is to the alias the columns. Are there any plans to 
handle disambiguation? In PySpark, for example, the equivalent version of the 
example above would be valid, and columns can be disambiguated with 
`df_in1.int_col` and `df_in2.int_col`.
   
   The reason I ask about plans to handle this in the DataFrame API is because 
the solution there might influence the implementation in the SQL layer. 
   
   


----------------------------------------------------------------
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.

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


Reply via email to