一時的なビューを作成 (パイプライン)

CREATE TEMPORARY VIEW ステートメントを使用して、パイプラインに一時ビューを作成します。

構文

SQL でビューを宣言するための構文を次に示します。

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

パラメーター

  • view_name

    ビューの名前。

  • col_name

    必要に応じて、結果のビューの列を指定できます。 col_name は列の名前です。

  • col_comment

    列を指定する場合は、必要に応じて列の説明を指定できます。

  • column_constraint

    • CONSTRAINT expectation_name EXPECT (expectation_expr) [ 違反時 { FAIL UPDATE | ROWを削除 } ]

      ビューにデータ品質の期待値を加えます。 これらのデータ品質の期待値は時間経過とともに追跡でき、パイプラインの イベントログを通じてアクセス可能です。 FAIL UPDATE期待値は、ビューの作成とパイプラインの更新の両方で処理が失敗します。 DROP ROW 期待値が満たされない場合、行全体が削除されます。 「パイプラインの期待値を使用してデータ品質を管理する」を参照してください。

      expectation_expr リテラル、ビュー内の列識別子、決定論的で組み込みのSQL関数や演算子で構成されることがありますが、以下は除きます:

      また expr には、サブクエリを含めることはできません。

  • view_comment

    ビューの説明 (省略可能)。

  • TBLPROPERTIES

    ビューのテーブル プロパティ のオプションリストです。

  • クエリ

    この節はクエリのデータを使ってビューを埋めます。 クエリと列の一覧を一緒に指定すると、クエリによって返されるすべての列が列リストに含まれている必要があります。または、エラーが発生します。 queryによって指定されたが返されない列は、クエリ時にnull値を返します。

制限事項

  • 一時ビューは、パイプラインの有効期間中のみ保持されます。
  • これらは定義パイプラインに限定されています。
  • これらはカタログに追加されず、カタログ内のビューと同じ名前を持つことができます。 パイプライン内で、一時ビューとカタログ内のビューまたはテーブルの名前が同じである場合、名前への参照は一時ビューに解決されます。

例示

-- 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;

-- Create a temporary view with a data quality expectation
CREATE TEMPORARY VIEW valid_sales (
  CONSTRAINT valid_total_sales EXPECT (total_sales > 0) ON VIOLATION DROP ROW
)
  AS SELECT date(sales_date) AS sales_day, SUM(sales) AS total_sales FROM sales GROUP BY date(sales_date);