CREATE VIEW und CREATE DIALECT VIEW - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CREATE VIEW und CREATE DIALECT VIEW

Eine Ansicht ist eine logische Tabelle, auf die in future Abfragen verwiesen werden kann. Ansichten enthalten keine Daten und schreiben keine Daten. Stattdessen wird die in der Ansicht angegebene Abfrage jedes Mal ausgeführt, wenn Sie in einer anderen Abfrage auf die Ansicht verweisen.

  • CREATE VIEWerstellt eine Athena-Ansicht aus einer angegebenen SELECT Abfrage. Athena-Ansichten funktionieren innerhalb von Athena. Weitere Informationen zu Athena-Ansichten finden Sie unterArbeiten Sie mit Ansichten.

  • CREATE PROTECTED MULTI DIALECT VIEWerstellt eine AWS Glue Data Catalog Ansicht in der AWS Glue Data Catalog. AWS Glue Data Catalog Ansichten bieten eine einzige gemeinsame Ansicht für Amazon AWS -Services Athena und Amazon Redshift. Weitere Informationen zu AWS Glue Data Catalog Ansichten finden Sie unter. Verwenden Sie Datenkatalogansichten in Athena

CREATE VIEW

Erstellt eine Ansicht zur Verwendung in Athena.

Syntax

CREATE [ OR REPLACE ] VIEW view_name AS query

Mit der optionalen OR REPLACE-Klausel können Sie die vorhandene Ansicht aktualisieren, indem Sie sie ersetzen. Weitere Informationen finden Sie unter Ansichten erstellen.

Beispiele

Verwenden Sie zum Erstellen einer Ansicht test aus der Tabelle orders eine Abfrage wie die folgende:

CREATE VIEW test AS SELECT orderkey, orderstatus, totalprice / 2 AS half FROM orders;

Verwenden Sie zum Erstellen einer Ansicht orders_by_date aus der Tabelle orders die folgende Abfrage:

CREATE VIEW orders_by_date AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate;

Verwenden Sie zum Aktualisieren einer vorhandenen Ansicht ein Beispiel wie das folgende:

CREATE OR REPLACE VIEW test AS SELECT orderkey, orderstatus, totalprice / 4 AS quarter FROM orders;

Weitere Informationen zur Verwendung von Athena-Ansichten finden Sie unterArbeiten Sie mit Ansichten.

CREATE PROTECTED MULTI DIALECT VIEW

Erstellt eine AWS Glue Data Catalog Ansicht in der AWS Glue Data Catalog. Eine Datenkatalogansicht ist ein Einzelansichtsschema, das für Athena und andere SQL Engines wie Amazon Redshift und Amazon funktioniert. EMR

Syntax

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS query
ODER REPLACE

(Optional) Aktualisiert die bestehende Ansicht, indem sie ersetzt wird. Eine Datenkatalogansicht kann nicht ersetzt werden, wenn die Ansicht SQL Dialekte von anderen Engines enthält. Wenn die aufrufende Engine den einzigen SQL Dialekt hat, der in der Ansicht vorhanden ist, kann die Ansicht ersetzt werden.

PROTECTED

Erforderliches Schlüsselwort. Gibt an, dass die Ansicht vor Datenverlusten geschützt ist. Data-Catalog-Ansichten können nur als PROTECTED-Ansicht erstellt werden.

MULTI DIALECT

Gibt an, dass die Ansicht die SQL Dialekte verschiedener Abfrage-Engines unterstützt und daher von diesen Engines gelesen werden kann.

SECURITY DEFINER

Gibt an, dass die Definer-Semantik für diese Ansicht in Kraft ist. Definer-Semantik bedeutet, dass die effektiven Leseberechtigungen für die zugrunde liegenden Tabellen dem Prinzipal oder der Rolle gehören, der die Ansicht definiert hat, und nicht dem Prinzipal, der den tatsächlichen Lesevorgang ausführt.

SHOW VIEW JSON

(Optional) Gibt die Spezifikation JSON für die Datenkatalogansicht zurück, ohne tatsächlich eine Ansicht zu erstellen. Diese „Dry-Run“ -Option ist nützlich, wenn Sie die SQL für die Ansicht validieren und die zu verwendenden Tabellenmetadaten zurückgeben möchten. AWS Glue

Beispiel

Im folgenden Beispiel wird die Data-Catalog-Ansicht orders_by_date basierend auf einer Abfrage der orders-Tabelle erstellt.

CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate

Weitere Hinweise zur Verwendung von AWS Glue Data Catalog Ansichten finden Sie unter. Verwenden Sie Datenkatalogansichten in Athena