使用雪管将数据加载到雪花期间的数据聚合

时间:2021-01-07 07:02:02

标签: etl snowflake-cloud-data-platform snowflake-stream

我正在评估用于报告用例的雪花。我正在考虑 ETL 的雪管。数据从 S3 中摄取。 S3 中的数据包含有关定期捕获的用户会话的信息。在雪花中,我想存储这些数据聚合。根据文档,snowflake 仅支持基本转换,在将数据从 S3 staging 复制到雪花中的表时不支持 group by 和 join。

我是 ETL 和雪花的新手。我想的一种方法是将原始详细数据从暂存数据加载到雪花中的临时表。然后在临时表上运行聚合(group by 和 join)以将数据加载到最终事实表中。这是实现复杂转换的正确方法吗?

2 个答案:

答案 0 :(得分:2)

Temporary tables 在 Snowflake 中仅停留在创建它们的会话中。这意味着您将无法将 Snowpipe 指向它。

不是临时表,而是将 Snowflake 指向 transient table 以存储原始数据,然后在一段时间后截断该表。这将降低成本。就个人而言,只要成本不会太高,我会尽可能长时间地将数据保留在临时表中。这是为了考虑潜在的延迟数据等。

答案 1 :(得分:0)

是的,你的方法在我看来不错。

Snowpipe 将您的数据从 S3 连续加载到 Snowflake 并在您使用的 Snowflake 内

  1. 观看次数
  2. 表和存储过程

转换数据并将其加载到最终的事实表中。