Ton*_*ony 9 databricks azure-databricks delta-lake
我有一个表,其主键为多个列,因此我需要对多个列执行合并逻辑
DeltaTable.forPath(spark, "path")
.as("data")
.merge(
finalDf1.as("updates"),
"data.column1 = updates.column1 AND data.column2 = updates.column2 AND data.column3 = updates.column3 AND data.column4 = updates.column4 AND data.column5 = updates.column5")
.whenMatched
.updateAll()
.whenNotMatched
.insertAll()
.execute()
Run Code Online (Sandbox Code Playgroud)
当我检查数据计数时,它没有按预期更新。
有人可以帮我解决这个问题吗?
小智 0
请尝试使用以下示例中的方法: https: //docs.databricks.com/_static/notebooks/merge-in-cdc.html 创建一个包含您将注意到的附加列的更改表
.whenMatched("s.new = true")
.insert()
.whenMatched("s.updated = true")
.updateExpr(Map("key" -> "s.key", "value" -> "s.newValue"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9517 次 |
| 最近记录: |