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

使用Python+SnowSQL加载CSV:如何识别Snowflake用户阶段名称?

识别Snowflake可用阶段名称的方法

1. 查看全量可用阶段

直接在Snowflake Worksheet中执行以下SQL命令,可列出当前环境下所有类型的阶段:

SHOW STAGES;

执行结果会包含用户阶段、表阶段、自定义命名阶段的全部信息。

2. 不同阶段的名称规则与验证方式

  • 用户阶段(User Stage):每个用户默认自带专属阶段,固定名称为@~,无需提前创建。

    • 查看阶段内文件:LIST @~;
    • 验证阶段存在:DESCRIBE STAGE ~;
  • 表阶段(Table Stage):每张表默认绑定对应的阶段,名称格式为@%<表名>(例如表名为test_table,则阶段名为@%test_table)。

    • 查看阶段内文件:LIST @%test_table;
    • 通过表结构确认:执行DESCRIBE TABLE <表名>;,结果中的Stage Location字段即为该表阶段的路径。
  • 命名阶段(Named Stage):需手动创建的自定义阶段(比如你代码中用到的@test_results)。

    • 先确认阶段是否存在:执行DESCRIBE STAGE test_results;,若报错则说明阶段未创建,需先执行创建命令:
      -- 创建内部命名阶段(无需依赖外部存储)
      CREATE STAGE test_results;
      
    • 在Snowflake UI中查看命名阶段:进入【Databases】→ 选择目标数据库 → 对应Schema → 点击【Stages】标签,即可看到该Schema下所有命名阶段。

补充:你的PUT命令潜在问题

代码中的路径格式化逻辑有误,os.getcwd()未被正确替换到路径中,应修改为:

file_path = 'file://{0}/XXXXX/YYYYYY/ZZZZZZ/TEST/Final.csv'.format(os.getcwd())
con.execute("PUT '{0}' @test_results".format(file_path))

同时需确保当前Snowflake连接拥有操作目标阶段的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:41:57