hudi-bot opened a new issue, #15635:
URL: https://github.com/apache/hudi/issues/15635
Currently, `MergeIntoHoodieTableCommand` squarely relies on semantic
implemented by `ExpressionPayload` to be able to insert/update records.
While this is necessary since MIT semantic enables users to do sophisticated
and fine-grained updates (for ex, partial updating), this is not necessary in
the most generic case:
{code:java}
MERGE INTO target
USING ... source
ON target.id = source.id
WHEN MATCHED THEN UPDATE *
WHEN NOT MATCHED THEN INSERT *{code}
This is essentially just a SQL way of implementing an upsert – if there are
matching records in the table we update them, otherwise – insert.
In this case there's actually no need to use ExpressionPayload at all, and
we can just simply use normal Hudi upserting flow to handle it (avoiding all of
the ExpressionPayload overhead)
## JIRA info
- Link: https://issues.apache.org/jira/browse/HUDI-5405
- Type: Bug
- Epic: https://issues.apache.org/jira/browse/HUDI-3249
- Affects version(s):
- 0.12.1
- Fix version(s):
- 1.1.0
--
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]