CREATE VIEW and CREATE PROTECTED MULTI DIALECT VIEW
Eine Ansicht ist eine logische Tabelle, auf die in zukünftigen 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 neue Athena-Ansicht aus einer angegebenenSELECT-Abfrage. Athena-Ansichten funktionieren innerhalb von Athena. Weitere Information zu Ansichten in Atehna finden Sie unter Arbeiten mit Ansichten. -
CREATE PROTECTED MULTI DIALECT VIEWerstellt eine AWS Glue Data Catalog-Ansicht in AWS Glue Data Catalog. AWS Glue Data Catalog-Ansichten bieten eine einzige gemeinsame Ansicht für AWS-Services wie Amazon Athena und Amazon Redshift. Weitere Informationen zu AWS Glue Data Catalog-Ansichten finden Sie unter Datenkatalog-Ansichten in Athena verwenden.
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 Ansichten in finden Sie unter Arbeiten mit Ansichten.
CREATE PROTECTED MULTI DIALECT VIEW
Erzeugt eine AWS Glue Data Catalog-Ansicht in AWS Glue Data Catalog. Eine Data-Catalog-Ansicht ist ein einzelnes Ansichtsschema, das mit Athena und anderen SQL-Engines wie Amazon Redshift und Amazon EMR funktioniert.
Syntax
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEWview_nameSECURITY DEFINER [ SHOW VIEW JSON ] ASquery
- OR REPLACE
-
(Optional) Aktualisiert die vorhandene Ansicht, indem sie ersetzt wird. Eine Data-Catalog-Ansicht kann nicht ersetzt werden, wenn in der Ansicht SQL-Dialekte von anderen Engines vorhanden sind. Wenn die aufrufende Engine über den einzigen in der Ansicht vorhandenen SQL-Dialekt verfügt, kann die Ansicht ersetzt werden.
- GESCHÜTZT
-
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-DIALEKT
-
Gibt an, dass die Ansicht die SQL-Dialekte unterschiedlicher Abfrage-Engines unterstützt und daher von diesen Engines gelesen werden kann.
- SICHERHEITS-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 das JSON für die Datenkatalog-Ansichtsspezifikation zurück, ohne tatsächlich eine Ansicht zu erstellen. Diese „Dry-Run“-Option ist nützlich, wenn Sie die SQL-Anweisung für die Ansicht validieren und die zu verwendenden Tabellenmetadaten zurückgeben möchten, die AWS Glue verwenden wird.
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 Informationen zur Verwendung der AWS Glue Data Catalog-Ansichten finden Sie unter Datenkatalog-Ansichten in Athena verwenden.