我在 Snowflake 上有一个 Python 工作表,我正在使用它来部署 udf。我想在这个 function 中添加一个 update SQL 但我相信我缺少一些东西来找到最有效的方法。
当我使用
session.sql(update_query).collect()
时,我遇到内存错误:
SQL compilation error: Compilation memory exhausted.
我从documents找到的其他方法重写了整个表,正如我所见,我不希望这样做,因为目标表非常大。
有什么想法吗?
我找到了一个解决方法,但仍然不确定这是否是最好的方法。 似乎当您从工作表中调用另一个过程时,Snowflake 会等待该过程完成,然后再继续执行其余代码。我使用这个创建了一个解决方案,我希望它对其他人有用:
def handler_function(session):
#calculations on pandas
session.sql(f"CALL MY_DB.MY_SCHEMA.MY_UPDATE_PROCEDURE()").collect()
#other code