如何将数据(纯文本)从 S3 转储到雪花表
Posted
技术标签:
【中文标题】如何将数据(纯文本)从 S3 转储到雪花表【英文标题】:How to dump data (Plain text) from S3 to snowflake table 【发布时间】:2021-03-25 15:14:55 【问题描述】:我想使用这个查询将纯文本数据放入雪花:
copy into "BETA"."PUBLIC"."TNS"
from s3://inbound/DnB/TNS
credentials=(aws_key_id='my_id' aws_secret_key='my_key')
pattern='.*TNS.*';
但是代码会导致这个错误:
字段分隔符 ',' 在期望记录分隔符 '\n' 时找到遇到错误时继续加载,对 ON_ERROR 选项使用其他值,例如“SKIP_FILE”或“CONTINUE”。有关加载选项的更多信息,请在 SQL 客户端中运行“info loading_data”。
【问题讨论】:
【参考方案1】:您可以使用无法找到文件的字段分隔符创建文件格式,并将其与您的 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
【讨论】:
以上是关于如何将数据(纯文本)从 S3 转储到雪花表的主要内容,如果未能解决你的问题,请参考以下文章
从命令行将 mysql 数据库转储到纯文本 (CSV) 备份