使自定义 table 从我们仓库中其他 Snowflake 数据库派生的数据保持最新的最佳实践
Best practices for keeping a custom table up-to-date from data derived from other Snowflake DB's in our warehouse
(代表 Snowflake 用户提交)
我们有一个数据库,用于存储我们所有本地来源的原始数据。我的团队拥有自己的环境,在该环境中我们拥有创建标准化提要 and/or tables/views 等的完全权限,这些提要已准备好通过 Power BI 使用。一些额外的细节:
- 最终的 'feed' table 是通过 SQL 语句得出的,并且大多数是从我们的 'raw' 数据中的多个 table 中提取的。
- 原始 table 数据每天更新。
我的问题是保持 table 完全更新的最佳操作是什么?此操作的标准工作流程是什么?我们目前的理解是这些过程之一是最好的:
- 使用
COPY INTO <stage>
然后 COPY INTO <table>
。
- 使用
STREAMS
添加增量数据。
- 使用
PIPES
(可能与 STREAMS 相同)
- 或者将我们的提要简化为一个 table 源并使用实体化视图。
理想情况下,我们希望避免观看以提高双电源级别的消耗速度。
Tasks
已被推荐,因为它看起来很合适,因为他们每天只需要更新一次最终的 table。
(https://docs.snowflake.net/manuals/sql-reference/sql/create-task.html)
还有其他推荐吗???谢谢!
我们有一个类似的场景,我们的原始数据湖表从 S3 中的文件实时更新。这些原始表是使用自动摄取功能通过 snowpipe 加载的。
反过来,我们有一个数据集市,其中包含有关原始数据的事实。为了更新数据集市,我们在原始表之上创建了流来跟踪变化。然后,我们以给定的频率(在我们的例子中每五分钟一次)使用任务 运行 从原始表中更改的数据更新数据集市。使用流允许我们将处理限制为仅更改的数据,而不必跟踪上次更新日期等。
(代表 Snowflake 用户提交)
我们有一个数据库,用于存储我们所有本地来源的原始数据。我的团队拥有自己的环境,在该环境中我们拥有创建标准化提要 and/or tables/views 等的完全权限,这些提要已准备好通过 Power BI 使用。一些额外的细节:
- 最终的 'feed' table 是通过 SQL 语句得出的,并且大多数是从我们的 'raw' 数据中的多个 table 中提取的。
- 原始 table 数据每天更新。
我的问题是保持 table 完全更新的最佳操作是什么?此操作的标准工作流程是什么?我们目前的理解是这些过程之一是最好的:
- 使用
COPY INTO <stage>
然后COPY INTO <table>
。 - 使用
STREAMS
添加增量数据。 - 使用
PIPES
(可能与 STREAMS 相同) - 或者将我们的提要简化为一个 table 源并使用实体化视图。
理想情况下,我们希望避免观看以提高双电源级别的消耗速度。
Tasks
已被推荐,因为它看起来很合适,因为他们每天只需要更新一次最终的 table。
(https://docs.snowflake.net/manuals/sql-reference/sql/create-task.html)
还有其他推荐吗???谢谢!
我们有一个类似的场景,我们的原始数据湖表从 S3 中的文件实时更新。这些原始表是使用自动摄取功能通过 snowpipe 加载的。
反过来,我们有一个数据集市,其中包含有关原始数据的事实。为了更新数据集市,我们在原始表之上创建了流来跟踪变化。然后,我们以给定的频率(在我们的例子中每五分钟一次)使用任务 运行 从原始表中更改的数据更新数据集市。使用流允许我们将处理限制为仅更改的数据,而不必跟踪上次更新日期等。