首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自S3最佳实践的Snowpipe持续注入

来自S3最佳实践的Snowpipe持续注入
EN

Stack Overflow用户
提问于 2020-06-25 00:10:06
回答 1查看 325关注 0票数 0

我期望每天通过S3将10,000 (小,~ 10KB)文件流到Snowflake中,并在一天中均匀分布。我计划使用Snowpipe文档中概述的S3事件通知来实现自动化。我还想把这些文件保存在S3上,独立于雪花。关于如何从S3摄取数据,我有两个选择:

代码语言:javascript
复制
s3://data-lake/2020-06-02/objects
              /2020-06-03/objects
                 .
                 .
              /2020-06-24/objects

代码语言:javascript
复制
s3://snowpipe specific bucket/objects

从最佳实践/计费的角度来看,我是否应该直接从我的数据湖中获取数据-这意味着我的“创建或替换存储集成”和“创建或替换阶段”语句引用了上面的顶级“s3:// data - lake”?或者,我是否应该为Snowpipe摄取创建一个专用的S3存储桶,并在一两天后使该存储桶中的对象过期?

如果我给它一个顶层的文件夹,里面有成千上万的对象,比我给它一个小的,有控制的,专用的文件夹,里面只有几个对象,是不是要做更多的工作(因此给我更多的账单)来摄取它?当通知发出时,S3通知服务是否会告诉Snowpipe有什么新内容,或者Snowpipe是否必须列出一个列表,并将其与已摄取的对象列表进行比较?

在这种情况下,https://docs.snowflake.com/en/user-guide/data-load-snowpipe-auto-s3.html的文档没有提供任何具体的指导。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-26 04:45:06

每当添加新文件时,集成都会收到来自AWS的消息。如果该文件与后台文件的文件格式、文件路径等相匹配,则会对该文件运行管道中的COPY INTO语句。

集成接收与您的阶段筛选器不匹配的额外消息的开销最小,据我所知,该源中的其他文件也没有开销。

所以我相当确定,只要你的舞台设置正确,这两种方式都会工作得很好。

在过去的6个月里,我们一直在使用类似的设置,每天将大约5000个永久文件放到一个Azure存储帐户中,将文件划分到不同的目录中,这些目录对应于不同的Snowflake阶段,并且在复制时没有明显的额外延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62559478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档