CREATE VIEWCreate View

CREATE [OR REPLACE] [[GLOBAL] TEMPORARY] VIEW [db_name.]view_name
  [(col_name1 [COMMENT col_comment1], ...)]
  [COMMENT table_comment]
  [TBLPROPERTIES (key1=val1, key2=val2, ...)]
    AS select_statement

1つ以上のテーブルまたはビューに論理ビューを定義します。Define a logical view on one or more tables or views.

OR REPLACE

ビューが存在しない場合、 CREATE OR REPLACE VIEW はと同じに CREATE VIEW なります。If the view does not exist, CREATE OR REPLACE VIEW is equivalent to CREATE VIEW. ビューが存在する場合、 CREATE OR REPLACE VIEW はと同じです ALTER VIEWIf the view does exist, CREATE OR REPLACE VIEW is equivalent to ALTER VIEW.

[GLOBAL] TEMPORARY

TEMPORARY 基になる metastore (存在する場合) のビュー定義の永続化をスキップします。TEMPORARY skips persisting the view definition in the underlying metastore, if any. が指定されている場合 GLOBAL 、ビューには、アプリケーションが終了するまで、さまざまなセッションからアクセスでき、そのまま維持されます。それ以外の場合、一時ビューはセッションスコープになり、セッションが終了すると自動的に削除されます。If GLOBAL is specified, the view can be accessed by different sessions and kept alive until your application ends; otherwise, the temporary views are session-scoped and will be automatically dropped if the session terminates. すべてのグローバル一時ビューは、システムに保存された一時データベースに関連付けられてい global_temp ます。All the global temporary views are tied to a system preserved temporary database global_temp. データベース名は保持されるため、ユーザーはこのデータベースを作成/使用/削除することはできません。The database name is preserved, and thus, users are not allowed to create/use/drop this database. グローバル一時ビューにアクセスするには、修飾名を使用する必要があります。You must use the qualified name to access the global temporary view.

注意

ノートブックに定義されている一時ビューは、他のノートブックには表示されません。A temporary view defined in a notebook is not visible in other notebooks. Notebook の分離」を参照してください。See Notebook isolation.

(col_name1 [COMMENT col_comment1], ...)

ビュースキーマを定義する列リスト。A column list that defines the view schema. 列名は、によって取得されたのと同じ数の列で一意である必要があり select_statement ます。The column names must be unique with the same number of columns retrieved by select_statement. 列リストが指定されていない場合、ビュースキーマはの出力スキーマに select_statement なります。When the column list is not given, the view schema is the output schema of select_statement.

TBLPROPERTIES

メタデータのキーと値のペア。Metadata key-value pairs.

AS select_statement

SELECTビューを定義するステートメント。A SELECT statement that defines the view. ステートメントでは、ベーステーブルまたは他のビューから選択できます。The statement can select from base tables or the other views.

重要

ビューはテーブルとして具体化されていないため、datasource、partition、またはクラスタリングオプションを指定することはできません。You cannot specify datasource, partition, or clustering options since a view is not materialized like a table.

使用例Examples

-- Create a persistent view view_deptDetails in database1. The view definition is recorded in the underlying metastore
CREATE VIEW database1.view_deptDetails
  AS SELECT * FROM company JOIN dept ON company.dept_id = dept.id;

-- Create or replace a local temporary view from a persistent view with an extra filter
CREATE OR REPLACE TEMPORARY VIEW temp_DeptSFO
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SFO';

-- Access the base tables through the temporary view
SELECT * FROM temp_DeptSFO;

-- Create a global temp view to share the data through different sessions
CREATE GLOBAL TEMP VIEW global_DeptSJC
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SJC';

-- Access the global temp views
SELECT * FROM global_temp.global_DeptSJC;

-- Drop the global temp view, temp view, and persistent view.
DROP VIEW global_temp.global_DeptSJC;
DROP VIEW temp_DeptSFO;
DROP VIEW database1.view_deptDetails;