[英]Snowflake: Is it possible to pass few Columns (DataFrame) into Snowpark UDTF ( Python language)?
[英]is it possible to write a sql query in a python UDF in snowflake snowpark?
我正在嘗試在雪花中創建一個新的 UDF 函數。 在這個 UDF 中,我需要編寫一個 SQL 查詢來返回一個表列表,然后我需要圍繞它做一些 python 代碼,比如這個例子:
create or replace function SnowparkPrivateSchema()
returns string
language python
runtime_version=3.8
handler='SnowparkPrivateSchema'
as $$
def SnowparkPrivateSchema(self, symbol, quantity, price):
get_tables = '''select table_name from INFORMATION_SCHEMA.TABLES'''
for table in get_tables:
'''create or replace table clone_user.{table} clone {table}'''
$$;
您不能在 Snowflake UDF 內執行 SQL(Python/Snowpark 以及標准 SQL、Javascript 等也是如此)。 UDF 只能接收一行數據,並從該輸入輸出一個標量值。
您可以從 Snowpark Python 存儲過程(以及使用任何其他語言編寫的存儲過程)執行 SQL; Python 存儲過程可以像 SQL 存儲過程一樣用於執行 SQL,包括潛在地調用 UDF,該 UDF 對從 SQL 查詢返回的數據執行一些操作。
from snowflake.snowpark import Session
session = Session.builder.configs(connection_parameters).create()
get_tables = session.sql("select table_name from INFORMATION_SCHEMA.TABLES")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.