如何创建CSV文件格式定义将数据加载到雪花表 [英] How to create a csv file format definition to load data into snowflake table

查看:11
本文介绍了如何创建CSV文件格式定义将数据加载到雪花表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的CSV文件示例如下所示: ";文件(5)中的列数与相应表(3)中的列数不匹配,请使用文件格式选项error_on_column_count_mismatch=false忽略此错误";

是否有人可以建议我CSV文件格式定义以保证负载正常?

enter image description here

推荐答案

问题是您尝试加载的数据本身中包含逗号(,)。Snowflake认为这些逗号代表新列,这就是为什么它认为您的文件中有5列,但实际上只有3列。

您需要告诉Snowflake双引号(")中的任何内容都应该按原样加载,而不是将引号中的逗号解释为列分隔符。

当您通过Web界面创建文件格式时,有一个选项允许您告诉Snowflake执行此操作。将";字段(可选地用";括起来)下拉菜单设置为";双引号(&QOOT;),如下图所示:

或者,如果您使用SQL创建文件格式,则可以将名为FIELD_OPTIONALLY_ENCLOSED_BY的选项设置为42,该选项执行相同的操作:

CREATE FILE FORMAT "SIMON_DB"."PUBLIC".sample_file_format 
    TYPE = 'CSV' 
    COMPRESSION = 'AUTO' 
    FIELD_DELIMITER = ',' 
    RECORD_DELIMITER = '
' 
    SKIP_HEADER = 0 
    FIELD_OPTIONALLY_ENCLOSED_BY = '42' # <---------------- Set to double-quote
    TRIM_SPACE = FALSE 
    ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE 
    ESCAPE = 'NONE' 
    ESCAPE_UNENCLOSED_FIELD = '134' 
    DATE_FORMAT = 'AUTO' 
    TIMESTAMP_FORMAT = 'AUTO';

这篇关于如何创建CSV文件格式定义将数据加载到雪花表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆