每天从 S3 存储桶加载一个新文件到雪花表

Posted

技术标签:

【中文标题】每天从 S3 存储桶加载一个新文件到雪花表【英文标题】:Load a new file every day from S3 bucket to Snowflake table 【发布时间】:2022-01-22 20:27:40 【问题描述】:

我的 Amazon S3 路径如下:

s3://dev-mx-allocation-storage/ph_test_late_waiver/year/month/day/flow_number*.csv

我需要创建一个从 S3 到 Snowflake 的管道,其中每个月的每一天都会有一个新的 csv 文件落入存储桶中,并且该 csv 文件应该插入到雪花表中。

我对此很陌生,请问我可以在雪花中获得一个可以做到这一点的命令吗?

【问题讨论】:

【参考方案1】:

Snowpipe 非常适合数据的实时需求,因为它可以根据触发器加载数据,并且可以管理大量连续加载。数据量和加载数据的计算/存储资源由雪花云管理,这就是它被提升为无服务器功能的原因。如果少了一件需要管理的事情,那就更好地将我们的精力集中在我们自己的应用程序开发上!

分步指南:https://medium.com/@walton.cho/auto-ingest-snowpipe-on-s3-85a798725a69

【讨论】:

我无权访问 Amazon S3,snowflake 中是否有任何命令可以让我将 S3 中的数据加载到我的用例中的雪花中? 如果没有适当的授权访问 S3,您将无法将任何数据从 S3 加载到 Snowflake。 对于不同的用例,我只需要从 S3 存储桶加载 1 个 csv 文件。我只需使用 AWS 密钥和密钥 ID 就可以做到这一点,而无需登录 AWS。 从 S3 加载有 3 个选项。详情:docs.snowflake.com/en/user-guide/…

以上是关于每天从 S3 存储桶加载一个新文件到雪花表的主要内容,如果未能解决你的问题,请参考以下文章

如何检查从 aws S3 到雪花的数据加载结果

雪花不接受批量加载的文件格式

来自 S3(COPY) 的雪花负载数据与来自外部表的负载

AWS Redshift:从 S3 上的许多存储桶加载数据

在不使用 S3 存储桶的情况下将数据从远程服务器的 .gz 文件加载到 redshift 的 postgresql 实例?

仅将新文件从 S3 加载到 Redshift 的简单方法?