apache / paimon

Apache Paimon is a lake format that enables building a Realtime Lakehouse Architecture with Flink and Spark for both streaming and batch operations.
https://paimon.apache.org/
Apache License 2.0
2.13k stars 842 forks source link

[Bug] Can not update data from non-pk table #3560

Closed xuzifu666 closed 2 weeks ago

xuzifu666 commented 2 weeks ago

Search before asking

Paimon version

0.8 0.9

Compute Engine

spark3.2

Minimal reproduce step

update non-pk table

What doesn't meet your expectations?

java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.v2.DataSourceV2ScanRelation$.apply$default$4()Lscala/Option; at org.apache.paimon.spark.commands.UpdatePaimonTableCommand.performUpdateForNonPkTable(UpdatePaimonTableCommand.scala:110) at org.apache.paimon.spark.commands.UpdatePaimonTableCommand.run(UpdatePaimonTableCommand.scala:60) at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:80) at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:78) at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:89) at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.$anonfun$applyOrElse$1(QueryExecution.scala:110) at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:103) at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163) at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:90) at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:775) at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64) at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:110) at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:106) at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformDownWithPruning$1(TreeNode.scala:481) at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:82)

Anything else?

No response

Are you willing to submit a PR?

Zouxxyy commented 2 weeks ago

Fix with #3566