如何将数据(纯文本)从 S3 转储到雪花表

时间:2021-03-25 15:14:55

标签: snowflake-cloud-data-platform

我想使用此查询将纯文本数据放入雪花:

copy into "BETA"."PUBLIC"."TNS"
  from s3://inbound/DnB/TNS
  credentials=(aws_key_id='my_id' aws_secret_key='my_key')
  pattern='.*TNS.*';

但代码导致此错误:

<块引用>

在期望记录分隔符 '\n' 文件 'DnB/TNS/EBF',第 4 行,第 1247 行,第 4 行,列“TNS”[“C1”:1] 时找到字段分隔符 ',' 如果您愿意遇到错误时继续加载,对 ON_ERROR 选项使用其他值,例如“SKIP_FILE”或“CONTINUE”。有关加载选项的更多信息,请在 SQL 客户端中运行“info loading_data”。

1 个答案:

答案 0 :(得分:2)

您可以创建带有无法找到文件的字段分隔符的文件格式,并将其与您的 COPY 命令一起使用:

create file format PLAINTEXT TYPE=CSV FIELD_DELIMITER = '*XyZ*';

copy into "BETA"."PUBLIC"."TNS"
from s3://inbound/DnB/TNS
credentials=(aws_key_id='my_id' aws_secret_key='my_key')
pattern='.*TNS.*'
file_format = PLAINTEXT;

这应该可以帮助您将文件中的整行作为一列读取。

创建文件格式 https://docs.snowflake.com/en/sql-reference/sql/create-file-format.html