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