如何在不重写Python工作表中的表的情况下更新Snowflake表-UDF

问题描述 投票:0回答:1

我在 Snowflake 上有一个 Python 工作表,我正在使用它来部署 udf。我想在这个 function 中添加一个 update SQL 但我相信我缺少一些东西来找到最有效的方法。

当我使用

session.sql(update_query).collect()
时,我遇到内存错误:

SQL compilation error: Compilation memory exhausted.

我从documents找到的其他方法重写了整个表,正如我所见,我不希望这样做,因为目标表非常大。

有什么想法吗?

sql python-3.x snowflake-cloud-data-platform
1个回答
0
投票

我找到了一个解决方法,但仍然不确定这是否是最好的方法。 似乎当您从工作表中调用另一个过程时,Snowflake 会等待该过程完成,然后再继续执行其余代码。我使用这个创建了一个解决方案,我希望它对其他人有用:

def handler_function(session):

   #calculations on pandas

   session.sql(f"CALL MY_DB.MY_SCHEMA.MY_UPDATE_PROCEDURE()").collect()

   #other code
© www.soinside.com 2019 - 2024. All rights reserved.