传入批处理中相同记录的增量表合并问题

时间:2020-08-08 01:08:17

标签: merge databricks delta-lake

我正在尝试使用合并操作来增加增量表。

我使用了https://docs.databricks.com/_static/notebooks/merge-in-scd-type-2.html中的代码

但是,如果我在Update表中添加2条新行,如下所示,

  CustomerUpdate(1, "new address for 1", "2018-03-03"),
  CustomerUpdate(1, "newnew address for 1", "2018-03-04"),
  CustomerUpdate(1, "newnewnew address for 1", "2018-03-05"),
  CustomerUpdate(3, "current address for 3", "2018-04-04"),    
  CustomerUpdate(4, "new address for 4", "2018-04-04")

它指出以下错误:

由于多个源行匹配并尝试更新同一行,因此无法执行MERGE。

我的要求是从传入的记录中查找相同的customerId的3条记录的最大日期,并对该记录进行对客户表的插入操作,并将它们的其余2条记录执行为对合并语句的更新操作,如下所示:在客户表的记录中进行检查。

请帮助。

0 个答案:

没有答案