簡體   English   中英

是否可以在雪花雪園的 python UDF 中編寫 sql 查詢?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM