创建临时视图(Lakeflow 声明性管道)

使用 CREATE TEMPORARY VIEW 语句在 Lakeflow 声明性管道中创建临时视图。

注释

CREATE LIVE VIEW 并且 CREATE TEMPORARY LIVE VIEW 是相同命令的较旧语法。 CREATE TEMPORARY VIEW 是首选语法。

唯一的例外是 CREATE LIVE VIEW 支持以 CONSTRAINT 子句形式的预期。 如果需要包含预期,请使用 CREATE LIVE VIEW 语法。

Syntax

下面介绍了使用 SQL 声明视图的语法:

CREATE TEMPORARY VIEW view_name
  [(
    [ col_name [ COMMENT col_comment ] [, ...] ]
  )]
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

参数

  • view_name

    视图的名称。

  • col_name

    (可选)可以为生成的视图指定列。 col_name 是列的名称。

  • col_comment

    在指定列时,您可以选择为该列指定一个描述。

  • view_comment

    视图的可选说明。

  • TBLPROPERTIES

    表的表属性可选列表。

  • 查询

    此子句使用查询中的数据填充表。 在一起指定查询和列列表时,列列表必须包含查询返回的所有列,否则将收到错误。 查询时,对于那些指定但未返回的列,返回querynull值。

局限性

  • 临时视图只有在管道生存期内才会被保留。
  • 它们专用于定义管道。
  • 这些内容没有被添加到目录中,并且可以与目录中的视图具有相同的名称。 在管道中,如果临时视图和目录中的视图或表具有相同的名称,则对该名称的引用将解析为临时视图。

例子

-- Create a temporary view, and use it
CREATE TEMPORARY VIEW my_view (sales_day, total_sales, sales_rep)
  AS SELECT date(sales_date) AS sale_day, SUM(sales) AS total_sales, FIRST(sales_rep) FROM sales GROUP BY date(sales_date), sales_rep;

CREATE OR REFRESH MATERIALIZED VIEW sales_by_date
  AS SELECT * FROM my_view;