You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake中用SQL查询Python创建的Snowpark DataFrame并引用mydf

在SQL单元格中引用Snowpark DataFrame的方法

要在SQL里查询Python中创建的mydf Snowpark DataFrame,核心是把DataFrame注册成临时视图或者永久视图,之后就能像普通表一样在SQL中调用。

方法一:注册为会话级临时视图(推荐,仅当前会话有效)

在Python单元格中执行以下代码,把mydf注册成临时视图:

mydf.create_or_replace_temp_view("temp_mydf")

之后在SQL单元格里,直接用视图名temp_mydf查询,甚至关联其他表:

-- 查询临时视图
SELECT * FROM temp_mydf;

-- 关联其他表(比如关联名为other_table的表)
SELECT t.*, o.other_column
FROM temp_mydf t
JOIN other_table o ON t.id = o.mydf_id;

临时视图仅在当前Snowpark会话存在,会话结束后自动销毁,不会占用永久存储资源。

方法二:注册为永久视图(跨会话可用)

如果需要在其他会话或后续任务中也能使用这个DataFrame的数据,可以注册成永久视图,需要指定数据库和模式:

# 替换成你的数据库和模式名
mydf.create_or_replace_view("my_db.my_schema.perm_mydf")

然后在SQL单元格中直接调用这个永久视图:

SELECT * FROM my_db.my_schema.perm_mydf;

永久视图会被持久化存储,需要确保你有对应的数据库/模式权限。

注意事项

  • 注册视图时,视图名不能和现有表/视图重名,否则会被create_or_replace_*方法自动替换
  • 如果DataFrame包含复杂数据类型(比如数组、结构体),Snowpark会自动映射到Snowflake支持的对应类型,SQL中可以直接使用这些类型的操作语法

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:52:02