雪花物化视图可以包含半结构化数据的展平吗?
Posted
技术标签:
【中文标题】雪花物化视图可以包含半结构化数据的展平吗?【英文标题】:Can a Snowflake materialized view contain flatten of semi-structured data? 【发布时间】:2020-02-23 13:38:10 【问题描述】:本文结尾建议物化视图可以包含 flatten ... https://www.snowflake.com/blog/snowflake-materialized-views-a-fast-zero-maintenance-accurate-solution/ 但是如果我尝试它,我会得到一个错误......“视图定义中引用了多个表” 有人有任何关于如何使用 flatten 创建 MV 的示例吗?
CREATE OR REPLACE MATERIALIZED VIEW MV_SOMETHING
AS
SELECT
F.ID,
A.VALUE:Type::string AS ATTRIBUTE_TYPE,
A.VALUE:Value::string AS ATTRIBUTE_VALUE
FROM
FRAME F
, lateral flatten(input => F.ENVIRONMENT) A;
【问题讨论】:
【参考方案1】:以下内容对我来说很好。数组需要FLATTEN()
,但对象不需要。
也许您将两者混合在一起?
CREATE OR REPLACE TABLE T AS
SELECT 1 ID, ARRAY_CONSTRUCT(1, 2, 3) A, OBJECT_CONSTRUCT('X', 2, 'Y', 3) O;
CREATE OR REPLACE MATERIALIZED VIEW T_MV AS
SELECT
ID,
O:X::NUMBER O_X,
O:Y::NUMBER O_Y,
VALUE A
FROM T, LATERAL FLATTEN(INPUT => A);
【讨论】:
以上是关于雪花物化视图可以包含半结构化数据的展平吗?的主要内容,如果未能解决你的问题,请参考以下文章