Kyl*_*ung 5 snowflake-cloud-data-platform dbt
我刚刚开始使用 dbt 并浏览了教程文档,我想知道将我的转换具体化为视图或表之间是否有区别?我使用 Snowflake 作为数据仓库。有一些文件在这里,显示了表之间的差异和物化视图,但如果我使用DBT定期更新的表,做他们或多或少成为同样的事情?
谢谢!
dyl*_*ker 11
dbt 不支持物化视图,据我所知,但正如 Felipe 评论的那样,有一个悬而未决的问题可以讨论。如果它是可以使用的物化视图雪花,你是对的,他们有些成为同样的事情。即使您没有运行 dbt,物化视图也会更新。不过,正如 Drew 在票证中提到的,在大多数用例中,有很多警告使使用带有 dbt 的表更可取:“没有窗口函数、没有联合、有限的聚合、无法查询视图等”。
也就是说,dbt 确实支持视图和表。
即使您使用 dbt,视图和表之间仍然存在差异。表总是需要由 dbt 刷新才能更新。视图将始终与其引用的基础表一样最新。
例如,假设您有一个名为 dbt 的模型fct_orders
,它引用了一个由 Fivetran/Stitch 加载的表,名为shopify.order
. 如果您的模型具体化为视图,它将始终返回 Shopify 表中的最新数据。如果它被具体化为一个表,并且自您上次运行 dbt 以来新数据已经到达 Shopify 表,则该模型将是“过时的”。
也就是说,将它具体化为表的好处是它会运行得更快,因为它不必每次都进行 SQL“转换”。
我最常看到的建议是这样的:
归档时间: |
|
查看次数: |
2255 次 |
最近记录: |