Erstellen einer SichtCreate 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

Definieren Sie eine logische Ansicht für eine oder mehrere Tabellen oder Sichten.Define a logical view on one or more tables or views.

OR REPLACE

Wenn die Sicht nicht vorhanden ist, CREATE OR REPLACE VIEW entspricht CREATE VIEW .If the view does not exist, CREATE OR REPLACE VIEW is equivalent to CREATE VIEW. Wenn die Sicht vorhanden ist, CREATE OR REPLACE VIEW entspricht ALTER VIEW .If the view does exist, CREATE OR REPLACE VIEW is equivalent to ALTER VIEW.

[GLOBAL] TEMPORARY

TEMPORARY Überspringt die Beibehaltung der Ansichts Definition im zugrunde liegenden metastore, sofern vorhanden.TEMPORARY skips persisting the view definition in the underlying metastore, if any. Wenn GLOBAL angegeben wird, kann auf die Sicht von verschiedenen Sitzungen aus zugegriffen werden, bis die Anwendung beendet wird. andernfalls sind die temporären Sichten Sitzungs bezogen und werden automatisch gelöscht, wenn die Sitzung beendet wird.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. Alle globalen temporären Sichten sind an eine vom System beibehaltene temporäre Datenbank gebunden global_temp .All the global temporary views are tied to a system preserved temporary database global_temp. Der Datenbankname wird beibehalten. Daher dürfen Benutzer diese Datenbank nicht erstellen/verwenden/löschen.The database name is preserved, and thus, users are not allowed to create/use/drop this database. Sie müssen den qualifizierten Namen verwenden, um auf die globale temporäre Ansicht zuzugreifen.You must use the qualified name to access the global temporary view.

Hinweis

Eine in einem Notebook definierte temporäre Ansicht ist in anderen Notebooks nicht sichtbar.A temporary view defined in a notebook is not visible in other notebooks. Siehe Notebook-Isolation.See Notebook isolation.

(col_name1 [COMMENT col_comment1], ...)

Eine Spaltenliste, die das Ansichts Schema definiert.A column list that defines the view schema. Die Spaltennamen müssen mit der gleichen Anzahl von Spalten, die von abgerufen werden, eindeutig sein select_statement .The column names must be unique with the same number of columns retrieved by select_statement. Wenn die Spaltenliste nicht angegeben wird, ist das Ansichts Schema das Ausgabe Schema von select_statement .When the column list is not given, the view schema is the output schema of select_statement.

TBLPROPERTIES

Schlüssel-Wert-Paare für Metadaten.Metadata key-value pairs.

AS select_statement

Eine- SELECT Anweisung, die die Sicht definiert.A SELECT statement that defines the view. Die-Anweisung kann aus Basistabellen oder anderen Sichten auswählen.The statement can select from base tables or the other views.

Wichtig

Sie können keine DataSource-, Partitions-oder Clustering-Optionen angeben, da eine Sicht nicht wie eine Tabelle materialisiert ist.You cannot specify datasource, partition, or clustering options since a view is not materialized like a table.

BeispieleExamples

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