雪管基础设施和 s3 子文件夹
Posted
技术标签:
【中文标题】雪管基础设施和 s3 子文件夹【英文标题】:Snowpipe Infastructure & s3 subfolders 【发布时间】:2020-01-29 18:34:24 【问题描述】:我正在尝试建立可扩展的雪管基础设施。我有一个 AWS lambda 函数提取数据并将原始 json 文件放入下面的相应文件夹中。
理想情况下,我想设置雪管以将每个文件夹中的数据读入它自己的雪花表中。
例如)
leads 文件夹中的leads json 文件现在通过管道传输到一个 雪花中的leads_json 表。 现在,位于机会文件夹中的机会 json 文件通过管道传输到雪花中的 opportunitie_json 表中。如何设置管道和阶段以减少所需的管道和阶段数量?
存储桶中的每个子文件夹是否需要一个管道和阶段?
我将使用 SQS 通知来利用 AUTO_INGEST=true 功能。
【问题讨论】:
【参考方案1】:对于通过 Snowpipe 加载的每个 TABLE,您将需要 1 个 PIPE。如果您愿意,您可以有一个 STAGE 指向 S3 存储桶的顶层文件夹,或者您可以在较低级别的文件夹中为每个表创建 1 个。我希望这能回答你的问题。
【讨论】:
补充迈克的回答;我建议为凭证使用单个存储集成,因此它们不是基于每个阶段的,并且为您列出的每个 AWS 文件夹一个阶段。这可以减少一个阶段可以访问的文件,如果您必须重新处理一组文件,可以帮助减少开销。 @Chris 在本文档的选项 1 中?目前我只完成了选项 2。docs.snowflake.net/manuals/user-guide/… 谢谢@MikeWalton @Bigmoose70 是的,完全正确。它确实需要 ACCOUNTADMIN 访问权限才能创建集成。 @Chris 想通了!感谢你的帮助!等不及他们想出一种基于事件而不是 cron 或其他任务来执行任务的方法。以上是关于雪管基础设施和 s3 子文件夹的主要内容,如果未能解决你的问题,请参考以下文章