首页 > 解决方案 > 使用 Databricks 为 Scala 使用 Merge for Scala 向表中插入

问题描述

使用 Databricks Delta Table,您可以使用合并操作将数据从源表、视图或 DataFrame 插入到目标 Delta 表中。此操作类似于 SQL MERGE INTO 命令,但对删除和更新、插入和删除中的额外条件有额外的支持。

我可以使用以下 Python 代码成功执行合并:

from delta.tables import *

deltaTable = DeltaTable.forPath(spark, delta_path)

(deltaTable
  .alias("t")
  .merge(loanUpdates.alias("s"), "t.loan_id = s.loan_id")
  .whenMatchedUpdateAll()
  .whenNotMatchedInsertAll()
  .execute())
  

但是,我需要使用 Scala。因此,有人可以提供在 Scala 中执行相同操作的代码吗?基本上,我帮助转换 Python 代码 Scala。

这里提供了示例,https://docs.databricks.com/delta/delta-update.html#language-scala但是我希望能够使用上面的 Python 代码

标签: python-3.xscaladatabricksazure-databricks

解决方案


根据您的评论,loanUpdates 是一个字符串,但它必须是一个数据框。您可以使用以下方法将 CSV 加载到 Spark 中:

val loanUpdatesDf = spark.read.csv(loanUpdates)

您可能需要使用更多选项才能正确读取 csv。


推荐阅读