Erstellen einer Sicht

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 Sicht für eine oder mehrere Tabellen oder Sichten.

OR REPLACE

Wenn die Sicht nicht vorhanden ist, CREATE OR REPLACE VIEW entspricht CREATE VIEW . Wenn die Sicht vorhanden ist, CREATE OR REPLACE VIEW entspricht ALTER VIEW .

[GLOBAL] TEMPORARY

TEMPORARY überspringt das Beibehalten der Ansichtsdefinition im zugrunde liegenden Metastore, falls dies der Fall ist. Wenn angegeben ist, kann von verschiedenen Sitzungen auf die Ansicht zugegriffen werden und bleibt bis zum Ende der Anwendung erhalten. Andernfalls sind die temporären Sichten sitzungsumfangig und werden automatisch gelöscht, wenn die Sitzung GLOBAL beendet wird. Alle globalen temporären Sichten sind an eine vom System beibehaltene temporäre Datenbank global_temp gebunden. Der Datenbankname wird beibehalten, und daher dürfen Benutzer diese Datenbank nicht erstellen, verwenden/löschen. Sie müssen den qualifizierten Namen verwenden, um auf die globale temporäre Ansicht zu zugreifen.

Hinweis

Eine in einem Notebook definierte temporäre Ansicht ist in anderen Notebooks nicht sichtbar. Weitere Informationen finden Sie unter Notebookisolation.

(col_name1 [COMMENT col_comment1], ...)

Eine Spaltenliste, die das Sichtschema definiert. Die Spaltennamen müssen mit der gleichen Anzahl von Spalten eindeutig sein, die von abgerufen select_statement werden. Wenn die Spaltenliste nicht angegeben ist, ist das Sichtschema das Ausgabeschema von select_statement .

TBLPROPERTIES

Schlüssel-Wert-Paare für Metadaten.

AS select_statement

Eine SELECT -Anweisung, die die Sicht definiert. Die -Anweisung kann aus Basistabellen oder anderen Sichten auswählen.

Wichtig

Sie können keine Datenquellen-, Partitions- oder Clusteringoptionen angeben, da eine Sicht nicht wie eine Tabelle materialisiert wird.

Beispiele

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