【发布时间】:2020-07-10 16:25:09
【问题描述】:
我是 Snowflake 数据仓库的新手,我想使用雪管加载数据并从包含多个文件夹(每个数据库一个)的外部阶段(S3 存储桶)自动摄取,在这些文件夹中有多个文件,每个文件 1 个桌子。不同文件夹中的文件将在不同时间更新,我目前正在使用自动摄取将 S3 转到 SQS 再到 Snowpipe。
我的示例 S3 存储桶设置如下:
myS3bucket.s3amazonaws.com
/db1
account.csv
product.csv
/db2
invoice.csv
employees.csv
我目前的理解是,我将为每个表创建一个管道,因此 account.csv 将与 1 个管道相关,该管道将填充帐户表,然后 product.csv 将与另一个管道相关以填充产品表等。
目前看来,如果我将新文件添加到存储桶中,所有管道都会被触发,因为通知在存储桶上。
我的问题是:
- 添加新文件时触发所有管道是否正确?我是否需要将 db1 和 db2 设置为不同的外部阶段,所以如果我将文件添加到 db1 文件夹,那么只会读取链接到该外部阶段的管道?
- 我读过 SNS 可以使用,但不确定它如何用于雪管。 S3 是否发送消息以便确定调用哪个管道并将消息散播到该管道?
- 有没有比我上面使用的更好的方法?
感谢您的帮助
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-pipe