一時ビューの作成(パイプライン)
パイプラインに一時ビューを作成するには、 CREATE TEMPORARY VIEWステートメントを使用します。
構文
以下は、SQL を使用してビューを宣言するための構文について説明しています。
CREATE TEMPORARY VIEW view_name
[(
[ col_name [ COMMENT col_comment ] [, ...] ]
[ column_constraint ] [, ...]
)]
[ COMMENT view_comment ]
[ TBLPROPERTIES ]
AS query
パラメーター
-
ビュー名
ビューの名前。
-
列名
オプションで、結果のビューの列を指定できます。
col_name列の名前です。 -
col_comment
列を指定するときに、オプションで列の説明を指定できます。
-
column_constraint
-
CONSTRAINT expectation_name EXPECT (expectation_expr) [ ON VIOLATION { FAIL UPDATE | DROP ROW } ]
ビューにデータ品質のエクスペクテーションを追加します。これらのデータ品質のエクスペクテーションは、時間の経過と共に追跡し、パイプラインの event Logsを通じてアクセスできます。
FAIL UPDATEエクスペクテーションがあると、ビューの作成時とパイプラインの更新時の両方で処理が失敗します。DROP ROWエクスペクテーションでは、エクスペクテーションが満たされない場合、行全体が削除されます。パイプラインのエクスペクテーションを使用してデータ品質を管理するを参照してください。expectation_exprリテラル、ビュー内の列識別子、および決定論的な組み込み SQL 関数または演算子で構成できます(ただし、以下を除く):- 集計関数
- 分析ウィンドウ関数
- ランキングウィンドウ関数
- テーブル値ジェネレーター関数
また、
exprには サブクエリーを含めることはできません。 - 集計関数
-
-
表示コメント
ビューのオプションの説明。
-
テーブルプロパティ
ビューのテーブルプロパティのオプションのリスト。
-
クエリー
この句は、クエリーからのデータを使用してビューに値を設定します。クエリーと列リストを一緒に指定する場合、列リストにはクエリーによって返されるすべての列が含まれている必要があります。含まれていない場合、エラーが発生します。指定されているものの
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);