[ 
https://issues.apache.org/jira/browse/HUDI-6662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HUDI-6662:
---------------------------------
    Labels: pull-request-available  (was: )

> Merge Into fails if there is an extra data column in the join expression
> ------------------------------------------------------------------------
>
>                 Key: HUDI-6662
>                 URL: https://issues.apache.org/jira/browse/HUDI-6662
>             Project: Apache Hudi
>          Issue Type: Task
>            Reporter: Sagar Sumit
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.14.0
>
>
> {code:java}
> |create table $tableName (
> |  id int,
> |  name string,
> |  price double,
> |  ts long
> |) using hudi
> | location '${tmp.getCanonicalPath}'
> | tblproperties (
> |  primaryKey ='id',
> |  preCombineField = 'ts'
> | ) 
> -- insert 2 records --
> insert into $tableName values(1, 'a1', 10, 1000);
> insert into $tableName values(2, 'a2', 11, 1000)
> -- merge into --
> | merge into $tableName as t0
> | using (
> |  select 1 as id, 'a1' as name, 12 as price, 1003 as ts
> | ) s0
> | on t0.id = s0.id and t0.name = s0.name
> | when matched then update set *
> | WHEN NOT MATCHED THEN INSERT *{code}
> This will throw the followin error with the latest master, while the previous 
> versions worked
> {code:java}
> org.apache.spark.sql.AnalysisException: Only simple conditions of the form 
> `t.id = s.id` using primary key or partition path columns are allowed on 
> tables with primary key. (illegal column(s) used: `partition`
>         at 
> org.apache.spark.sql.hudi.command.MergeIntoHoodieTableCommand.recordKeyAttributeToConditionExpression$lzycompute(MergeIntoHoodieTableCommand.scala:183)
>         at 
> org.apache.spark.sql.hudi.command.MergeIntoHoodieTableCommand.recordKeyAttributeToConditionExpression(MergeIntoHoodieTableCommand.scala:130)
>         at 
> org.apache.spark.sql.hudi.command.MergeIntoHoodieTableCommand.projectedJoinedDataset(MergeIntoHoodieTableCommand.scala:355)
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to