首页 > 解决方案 > 如何从 AWS Glue 脚本中更新/删除雪花

问题描述

我想删除雪花表中数据框对象中的一条记录。

同样,我想根据雪花表中数据框中的“键”执行更新。

我的研究表明 utils 方法可以执行 DDL 操作,但我找不到可以参考的示例。

标签: pythonaws-gluesnowflake-cloud-data-platform

解决方案


正如您所提到的,您可以使用 Utils 对象的 runQuery() 方法来执行 DDL/DML SQL 语句:

https://docs.snowflake.net/manuals/user-guide/spark-connector-use.html#executing-ddl-dml-sql-statements

如果你想基于一些键来做,那么你可以在 DataFrame 上迭代项目,并为每个项目运行一个 SQL:

如何循环遍历pyspark中的每一行dataFrame

但这将是一个性能杀手。Snowflake 是一个数据仓库,因此您应该始终更喜欢“批量更新”而不是单行更新。

我建议您将数据框写入 Snowflake 中的临时表,然后调用 SQL 以根据临时表更新目标表中的行。


推荐阅读