能否从本地Windows机器向Snowflake Snowsight的TABLE STAGE加载CSV文件?
能否通过Snowsight UI将本地CSV上传至Snowflake表级阶段(@%)?
可行,但Snowsight UI本身不支持直接上传本地文件到表级阶段(@%),可以通过以下两种方式实现:
方法一:使用SnowSQL客户端执行PUT命令
因为Snowsight的SQL编辑器无法直接读取本地文件,需要借助SnowSQL工具:- 安装并配置SnowSQL连接到你的Snowflake账户
- 执行PUT命令上传本地文件到表级阶段:
Windows路径注意用正斜杠或双反斜杠,比如PUT file://C:/your/local/path/your_file.csv @%target_table AUTO_COMPRESS=FALSE;file://C:\\data\\test.csv - 再通过COPY INTO命令将文件加载到表:
COPY INTO target_table FROM @%target_table FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1);
方法二:先上传到内部命名阶段再复制到表级阶段
利用你已掌握的Snowsight上传能力中转:- 通过Snowsight UI将本地CSV上传到内部命名阶段(比如
@your_named_stage) - 执行SQL将文件从命名阶段复制到表级阶段:
COPY INTO @%target_table FROM @your_named_stage/your_file.csv; - 最后用COPY INTO命令加载到目标表
- 通过Snowsight UI将本地CSV上传到内部命名阶段(比如
如果必须在Snowsight界面内完成操作,只能选择第二种方法,因为UI没有直接上传本地文件到表级阶段的入口。
内容的提问来源于stack exchange,提问作者Veera V
相关产品推荐
相关产品推荐

