如何在Snowflake SELECT语句中跳过CSV文件首行(DBT场景)
解决Snowflake阶段查询跳过CSV表头问题
你可以通过在查询的@stage参数中指定**文件格式并设置SKIP_HEADER = 1**来跳过CSV的表头行,无需改用COPY INTO,直接沿用当前查询格式即可,具体有两种实现方式:
方式1:内联定义文件格式
直接在查询里指定CSV格式及跳过表头的参数:
Select t.$1 as col1, t.$2 as col2 from @stage ( pattern =>'.*/path/to/filename.csv', file_format => (type = csv field_delimiter = ',' skip_header = 1) ) t
注:如果你的CSV分隔符不是逗号,替换成实际的分隔符即可。
方式2:引用预定义文件格式
如果你已经在Snowflake中创建了包含跳过表头设置的文件格式(比如名为MY_CSV_WITH_HEADER的格式,已配置SKIP_HEADER = 1),可以直接引用:
Select t.$1 as col1, t.$2 as col2 from @stage ( pattern =>'.*/path/to/filename.csv', file_format => MY_CSV_WITH_HEADER ) t
核心逻辑是通过skip_header = 1参数告诉Snowflake忽略文件的第一行(表头行),完全适配你当前的查询写法。
内容的提问来源于stack exchange,提问作者user3735871
相关产品推荐
相关产品推荐

