创建物化视图

适用于:检查标记是的砖的SQL

预览

这个特性是在公共预览。注册访问,填写这张表格

一个物化视图是一个视图,预先计算的结果可供查询,可以更新,以反映变化的输入。每次刷新物化视图,查询结果重新计算,以反映上游数据集的变化。物化视图是由一个DLT管道。你可以手动刷新物化视图,一个时间表,或安排他们包含的DLT管道。

语法

创建物化视图(如果存在]view_name(column_list](view_clauses]作为查询column_list({column_alias(评论column_comment]}(,])view_clauses{分区通过(上校(,])|评论view_comment|TBLPROPERTIES条款|时间表(刷新]CRONcron_string(时间timezone_id]}(]

参数

  • 如果不存在

    如果它不存在创建视图。这个名字已经存在,如果一个视图的创建视图声明将被忽略。

    您可以指定最多之一如果存在刷新

  • view_name

    新创建的视图的名称。完全限定的视图名称必须是唯一的。

  • column_list

    可选标签视图的查询结果的列。如果你提供一个列列表的数量列别名必须匹配的数量表达式查询中。如果没有指定列名单、别名来自身体的观点。

    • column_alias

      列别名必须是唯一的。

      • column_comment

        一个可选的字符串文字描述列别名。

  • view_clauses

    选择指定分区、评论、用户定义的属性,为新的物化视图刷新进度。每个子条款可能只被指定一次。

    • 分区的

      一个可选的表列列表分区的表。

    • 评论view_comment

      一个字符串文字描述表。

    • TBLPROPERTIES

      选择一个或多个用户定义的属性集。

    • 日程安排(刷新)CRON cron_string(时区timezone_id)

      如果提供,时间流表或物化视图刷新与给定的数据石英cron时间表。只有time_zone_values被接受。时间当地的不支持。如果时间不在,使用会话时区。如果时间缺席和会话时区没有设置,则抛出一个错误。时间表语义上等价于时间表刷新

      你不能使用时间表语法在三角洲住表中管道的定义。

  • 作为查询

    构造的查询视图从基表或其他的观点。

需要的权限

的用户创建一个物化视图(MV)是MV所有者和需要以下权限:

  • 选择在基表引用的MV特权。

  • 使用特权的目录和包含它的模式。

  • 创建特权模式MV

只有所有者才能刷新MV。

用户能够查询MV,他们要求:

  • 使用特权模式包含在目录和MV

限制

  • 当一个物化视图总和总在NULL-able列最后一个非空值从列,因此只删除值保持在这一列——物化视图的合成聚合值而不是返回零

  • 列引用不需要一个别名。Non-column引用表达式需要一个别名,如以下示例:

    • 允许:选择col1,总和(col2)作为sum_col2t集团通过col1

    • 不允许:选择col1,总和(col2)t集团通过col1

  • 物化视图不支持身份列或代理键。

  • 物化视图不支持特别优化真空命令。维护自动发生。

例子

——创建物化视图如果它不存在>创建物化视图如果存在subscribed_movies作为选择member_id,mbfull_name,movie_title电影作为内心的加入成员作为mbmember_id=mbid;——创建和安排一个物化视图刷新每日午夜。——注意:所有列在一群需要明确的别名>创建物化视图daily_sales评论日常销售数据的时间表CRON“0 0 0 * * *”作为选择日期作为日期,总和(销售)作为sumOfSales表1集团通过日期;