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

Snowflake:从S3外部Stage导入时自动填充文件路径与行号

解决方案

要自动填充FILE_NAME_FULL_S3_PATH和LINE_NUMBER字段,你可以利用Snowflake提供的元数据列,在COPY INTO语句中通过子查询组合元数据与源文件数据:

修改后的COPY INTO语句

copy into EMPLOYEE_SKILL (FILE_NAME_FULL_S3_PATH, LINE_NUMBER, SKILL_ID, EMP_ID, SKILL_NAME, SKILL_LEVEL)
from (
    select 
        metadata$filename,
        metadata$row_number,
        $1, $2, $3, $4
    from s3://test_bucket/emp/ 
)
credentials=(aws_key_id='XXXXXXXXXXXXXX' aws_secret_key='YYYYYYYYYY')
file_format = (type = csv field_delimiter = '|' skip_header = 1)
on_error = 'continue';

关键说明

  • metadata$filename:自动返回当前导入文件的完整S3路径,直接映射到FILE_NAME_FULL_S3_PATH字段。
  • metadata$row_number:返回当前行在源文件中的行号(由于设置了skip_header=1,行号会从第一行数据开始计数,跳过表头),映射到LINE_NUMBER字段。
  • $1到$4对应源CSV文件中的四个字段,需与SKILL_ID、EMP_ID、SKILL_NAME、SKILL_LEVEL的顺序一一匹配,如果源文件列顺序不同,需调整这些变量的位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:25:34