パイプライン内の SQL クエリの結果セットに基づいて、物理データのない仮想テーブルを構築します。
構文
SQL でビューを宣言するための構文を次に示します。
CREATE VIEW view_name
[ COMMENT view_comment ]
[ TBLPROPERTIES ]
AS query
パラメーター
view_name
ビューの名前。 名前は、パイプラインの対象となるカタログとスキーマ内で一意である必要があります。
view_comment
ビューの説明 (省略可能)。
TBLPROPERTIES
テーブルのテーブル プロパティのリスト (省略可能)。
クエリ
ベース テーブルまたはその他のビューからビューを構築するクエリです。
必要なアクセス許可
ビューを作成するには、パイプラインの実行ユーザーに次のアクセス許可が必要です。
- SELECT ビューによって参照されるベース テーブルに対する特権。
- 親カタログに対する USE CATALOG 特権と、親スキーマに対する USE SCHEMA 特権。
- CREATE TABLE ビューのスキーマに対する権限。
ユーザーがパイプライン内でビューを更新できるようにするには、次のアクセス許可が必要です。
- 親カタログに対する USE CATALOG 特権と、親スキーマに対する USE SCHEMA 特権。
- ビューの MANAGE アクセス許可。
- SELECT ビューによって参照されるベース テーブルに対する権限。
ユーザーが結果のビューに対してクエリを実行できるようにするには、次のアクセス許可が必要です。
- 親カタログに対する USE CATALOG 特権と、親スキーマに対する USE SCHEMA 特権。
- SELECT ビューに対する権限。
制限事項
-
CREATE VIEWは、既定の発行モードをサポートするパイプラインでのみ使用できます。 LIVE スキーマ (レガシ) を使用するパイプラインはサポートされていません。 詳細については、 LIVE スキーマ (レガシ) を参照してください。 - パイプラインは Unity カタログ パイプラインである必要があります。
-
CONSTRAINT句の形式での期待はサポートされていません。 - ビューにストリーミング クエリを含めたり、ストリーミング ソースとして使用したりすることはできません。
例示
-- Create a view from an external data source
CREATE VIEW taxi_raw AS SELECT *
FROM read_files("/databricks-datasets/nyctaxi/sample/json/");
-- Use a view to create a filtered view:
CREATE VIEW taxi_silver AS SELECT *
FROM taxi_raw
WHERE distance > 0.0;