从pyspark中的Dataframe插入或更新delta表

kyxcudwk  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(537)

我现在有一个pysparkDataframe,我最初使用下面的代码从中创建了一个delta表-

df.write.format("delta").saveAsTable("events")

现在,由于上面的dataframe在我的需求中每天填充数据,因此为了将新记录追加到delta表中,我使用了下面的语法-

df.write.format("delta").mode("append").saveAsTable("events")

我在数据库里和集群里做的这件事。我想知道如何在python中编写通用的pyspark代码,如果delta表不存在,它将创建delta表,如果delta表存在,它将附加记录。我想做这件事是因为如果我将python包交给某人,他们的环境中将不会有相同的delta表,因此应该从代码中动态创建它。

iugsix8n

iugsix8n1#

如果您还没有delta表,那么当您使用 append 模式。因此,当表还不存在时,以及当它退出时,您不需要编写任何特殊代码来处理这种情况。
p、 只有在执行合并到表而不是追加时,才需要这样的代码。在这种情况下,代码如下所示:

if table_exists:
  do_merge
else:
  df.write....

相关问题