Snowflake是否支持加载字段内包含换行符的CSV格式文件?
Snowflake CSV格式嵌入换行符加载说明
Snowflake原生支持加载包含嵌入换行符的CSV数据,你遇到的加载失败问题不是格式本身不支持,是参数配置不符合CSV规范要求导致的。
- 按照标准CSV规范,字段内如果包含换行符、字段分隔符(通常是逗号)、引号这类特殊字符,该字段必须被统一的包裹符(通常为双引号
")包裹,你需要先确认源CSV文件已经遵循该规则生成。 - 在COPY命令使用的CSV文件格式中添加
FIELD_OPTIONALLY_ENCLOSED_BY参数,指定和源文件匹配的字段包裹符,Snowflake就会自动识别包裹范围内的换行符为字段内容的一部分,不会将其判定为记录分隔符。示例文件格式创建语句如下:
CREATE OR REPLACE FILE FORMAT custom_csv_format TYPE = CSV FIELD_DELIMITER = ',' RECORD_DELIMITER = '\n' FIELD_OPTIONALLY_ENCLOSED_BY = '"' ESCAPE_UNENCLOSED_FIELD = NONE;
- 如果你坚持使用自定义多字符记录分隔符,需要保证所有CSV行的末尾都严格使用你指定的分隔符,同时配置参数时注意转义特殊字符,比如
$\n需要写为'$\\n'才能被系统正确识别。
内容的提问来源于stack exchange,提问作者user2567544
相关产品推荐
相关产品推荐

