将数据从 Snowflake 卸载到 txt 格式文件
Posted
技术标签:
【中文标题】将数据从 Snowflake 卸载到 txt 格式文件【英文标题】:Unloading data from Snowflake to txt format file 【发布时间】:2020-09-01 21:18:16 【问题描述】:我正在尝试从 Snowflake 中提取数据,外部 S3 暂存 txt 文件格式的数据,这些数据可以使用 SFTP 发送给供应商。但我面临 SQL 编译错误 -
文件格式脚本:
create or replace file format my_format
type = txt
field_delimiter = '|'
skip_header = 0
null_if = ('NULL', 'null')
empty_field_as_null = true
请告知我们如何在 S3 外部阶段将数据卸载为 txt 格式。
【问题讨论】:
【参考方案1】:只需将 txt 更改为 csv 并将 file_extension 更改为 txt:
create or replace file format my_format
type = csv
field_delimiter = '|'
skip_header = 0
null_if = ('NULL', 'null')
empty_field_as_null = true
file_extension = 'txt'
虽然它显示的是 CSV,但它实际上是带有分隔字段的文本,并且您的竖线(竖线)会覆盖使用逗号作为列分隔符。
【讨论】:
感谢您的回复。我尝试将类型保留为 csv,但看到的是 csv.gz 而不是 txt.gz。有什么方法可以将文件名重命名为 filename.txt.gz 而不是 filename.csv.gz?最终,我们希望解压缩文件并将 txt 格式的文件发送给我们的供应商 我更新了答案。您可以设置 file_extension = 'txt'以上是关于将数据从 Snowflake 卸载到 txt 格式文件的主要内容,如果未能解决你的问题,请参考以下文章
Snowflake数据仓库中如何使用内联文件格式从stage中查询数据
通过 JDBC 与 COPY_INTO + GET 批量卸载雪花数据