Arbeiten mit Ansichten - 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.

Arbeiten mit Ansichten

Eine Ansicht in Amazon Athena ist eine logische, keine physische Tabelle. Die Abfrage, die eine Ansicht definiert, wird jedes Mal ausgeführt, wenn in einer Abfrage auf die Ansicht verwiesen wird.

Sie können eine Ansicht aus einer SELECT-Abfrage erstellen und dann in zukünftigen Abfragen auf diese Ansicht verweisen. Weitere Informationen finden Sie unter CREATE VIEW.

Einsetzen von Ansichten – wann sinnvoll?

Sie können Ansichten für folgende Zwecke erstellen:

  • Abfrage einer Teilmenge von Daten. Sie können beispielsweise eine Ansicht mit einer Teilmenge der Spalten aus der ursprünglichen Tabelle erstellen. Dadurch werden Abfragen von Daten vereinfacht.

  • Kombinieren mehrerer Tabellen in einer Abfrage. Wenn Sie mehrere Tabellen haben und sie mit UNION ALL kombinieren möchten, können Sie mit diesem Ausdruck eine Ansicht erstellen, um Abfragen für die kombinierten Tabellen zu vereinfachen.

  • Blenden Sie die Komplexität der vorhandenen Basis-Abfragen aus und vereinfachen Sie die Abfragen, die die Benutzer ausführen. Basis-Abfragen sind häufig Joins zwischen Tabellen, Ausdrücke in der Spaltenliste und andere SQL-Syntax, die schwer zu verstehen und zu debuggen ist. Sie können eine Ansicht erstellen, mit der die Komplexität ausgeblendet wird und die Abfragen vereinfacht werden.

  • Experimentieren mit Optimierungstechniken und erstellen optimierter Abfragen. Wenn Sie beispielsweise eine Kombination von WHERE-Bedingungen, JOIN-Reihenfolge oder andere Ausdrücke finden, die eine optimale Leistung zeigen, erstellen Sie eine Ansicht mit diesen Klauseln und Ausdrücken. Anwendungen können anschließend relativ einfache Abfragen für diese Ansicht ausführen. Wenn Sie zu einem späteren Zeitpunkt eine bessere Möglichkeit finden, die ursprüngliche Abfrage zu optimieren, wenn Sie die Ansicht neu erstellen, profitieren alle Anwendungen sofort von den Vorteilen der optimierten Basis-Abfrage.

  • Ausblenden zugrunde liegender Tabellen- und Spaltennamen und Minimieren von Wartungsproblemen, wenn sich diese Namen ändern. In diesem Fall erstellen Sie die Ansicht mit den neuen Namen. Alle Abfragen, die die Ansicht anstelle der zugrunde liegenden Tabellen verwenden, werden weiterhin ohne Änderungen ausgeführt.

Unterstützte Aktionen für Ansichten in Athena

Athena unterstützt die folgenden Aktionen für Ansichten. Sie können diese Befehle im Abfrage-Editor ausführen.

Statement Beschreibung
CREATE VIEW

Erstellt eine neue Ansicht aus einer angegebenen SELECT-Abfrage. Weitere Informationen finden Sie unter Erstellen von Ansichten.

Mit der optionalen OR REPLACE-Klausel können Sie die vorhandene Ansicht aktualisieren, indem Sie sie ersetzen.

DESCRIBE VIEW

Zeigt die Liste der Spalten für die benannte Ansicht an. Auf diese Weise können Sie die Attribute einer komplexen Ansicht untersuchen.

DROP VIEW

Löscht eine vorhandene Ansicht. Mit der optionalen IF EXISTS-Klausel wird der Fehler unterdrückt, falls die Ansicht nicht existiert.

SHOW CREATE VIEW

Zeigt die SQL-Anweisung an, die die angegebene Ansicht erstellt.

SHOW VIEWS

Listet die Ansichten in der angegebenen Datenbank oder in der aktuellen Datenbank auf, wenn Sie den Datenbanknamen weglassen. Verwenden Sie die optionale LIKE-Klausel mit einem regulären Ausdruck, um die Liste der Ansichtsnamen einzugrenzen. Im linken Bereich der Konsole sehen Sie die Liste der Ansichten ebenfalls.

SHOW COLUMNS

Führt die Spalten im Schema für eine Ansicht auf.

Überlegungen für Ansichten

Die folgenden Überlegungen beziehen sich auf das Erstellen und Verwenden von Ansichten in Athena:

  • In Athena können Sie eine Vorschau der Ansichten anzeigen und mit ihnen arbeiten, die in der Athena-Konsole erstellt wurden, in der AWS Glue Data Catalog, falls Sie darauf migriert haben, oder mit Presto, das auf dem Amazon EMR-Cluster ausgeführt wird, der mit demselben Katalog verbunden ist. Sie können keine Vorschau für Ansichten anzeigen oder diese zu Athena hinzufügen, wenn sie auf andere Weise erstellt wurden.

  • Wenn Sie Athena-Ansichten im Datenkatalog erstellt haben, behandelt Ansichten als Tabellen. Sie können die feinkörnige Zugriffskontrolle auf Tabellenebene im Datenkatalog verwenden, um den Zugriff auf diese Ansichten einzuschränken.

  • Athena verhindert, dass Sie rekursive Ansichten ausführen, und zeigt in solchen Fällen eine Fehlermeldung an. Eine rekursive Ansicht ist eine Abfrage, die auf sich selbst verweist.

  • Athena zeigt eine Fehlermeldung an, wenn veraltete Ansichten erkannt werden. Eine veraltete Ansicht wird gemeldet, wenn eines der folgenden Ereignisse auftritt:

    • Die Ansicht verweist auf Tabellen oder Datenbanken, die nicht vorhanden sind.

    • Eine Schema- oder Metadatenänderung wird in einer referenzierten Tabelle vorgenommen.

    • Eine referenzierte Tabelle wird gelöscht und mit einem anderen Schema oder einer anderen Konfiguration neu erstellt.

  • Sie können verschachtelte Ansichten erstellen und ausführen, solange die Abfrage hinter der verschachtelten Ansicht gültig ist und die Tabellen und Datenbanken vorhanden ist.

Einschränkungen für Ansichten

  • Athena-Ansichtsnamen dürfen keine Sonderzeichen enthalten außer Unterstriche (_). Weitere Informationen finden Sie unter Namen für Tabellen, Datenbanken und Spalten.

  • Vermeiden Sie reservierte Schlüsselwörter für die Benennung von Ansichten. Wenn Sie reservierte Schlüsselwörter verwenden, umschließen Sie sie in Ihren Abfragen in Ansichten mit doppelten Anführungszeichen. Siehe Reservierte Schlüsselwörter.

  • Sie können in Athena erstellte Ansichten nicht mit externen Hive-Metaspeichern oder UDFs verwenden. Weitere Informationen zum Arbeiten mit Ansichten, die extern in Hive erstellt wurden, finden Sie unter Arbeiten mit Hive-Ansichten.

  • Sie können keine Ansichten mit raumbezogenen Funktionen verwenden.

  • Sie können keine Ansichten zum Verwalten der Zugriffskontrolle auf Daten in Amazon S3 verwenden. Um eine Ansicht abzufragen, benötigen Sie Berechtigungen für den Zugriff auf die in Amazon S3 gespeicherten Daten. Weitere Informationen finden Sie unter Zugriff auf Amazon S3 von Athena.

  • Die kontenübergreifende Abfrage von Ansichten wird zwar sowohl in der Athena-Engine-Version 2 als auch in der Athena-Engine-Version 3 unterstützt, Sie können jedoch keine Ansicht erstellen, die eine kontoübergreifende AWS Glue Data Catalog enthält. Informationen zum kontenübergreifenden Datenkatalog-Zugriff finden Sie unter Kontoübergreifender Zugriff auf AWS Glue -Datenkataloge.

  • Die versteckten Metadatenspalten $bucket, $file_modified_time, $file_size und $partition werden für Ansichten in Athena nicht unterstützt. Informationen zur Verwendung der $path-Metadatenspalte in Athena finden Sie unter Abrufen der Dateispeicherorte für Quelldaten in Amazon S3 .

Arbeiten mit Ansichten in der Konsole

In der Athena-Konsole stehen Ihnen folgende Funktionen zur Verfügung:

  • Zugriff auf alle Ansichten über den linken Bereich, in dem Tabellen aufgelistet sind.

  • Filtern von Ansichten.

  • Ansichten in der Vorschau anzeigen, ihre Eigenschaften anzeigen, Ansichten bearbeiten oder löschen.

So zeigen Sie die Aktionen für eine Ansicht an

Eine Ansicht wird nur dann in der Konsole sichtbar, wenn Sie sie bereits erstellt haben.

  1. Wählen Sie in der Athena-Konsole Views (Ansichten), und wählen Sie dann eine Ansicht aus, um sie zu erweitern und die Spalten in der Ansicht anzuzeigen.

  2. Wählen Sie die drei vertikalen Punkte neben der Ansicht aus, um eine Liste von Aktionen für die Ansicht anzuzeigen.

    Das Aktionsmenü für eine Ansicht.
  3. Wählen Sie Aktionen aus, um eine Vorschau der Ansicht anzuzeigen, den Ansichtsnamen in den Abfrage-Editor einzufügen, die Ansicht zu löschen, die Eigenschaften der Ansicht anzuzeigen oder die Ansicht im Abfrage-Editor anzuzeigen und zu bearbeiten.

Erstellen von Ansichten

Sie können eine Ansicht in der Athena-Konsole erstellen, indem Sie eine Vorlage verwenden oder eine vorhandene Abfrage ausführen.

So erstellen Sie eine Ansicht mithilfe einer Vorlage
  1. Wählen Sie in der Athena-Konsole neben Tables and views (Tabellen und Ansichten) Create (Erstellen) und dann Create view (Ansicht erstellen) aus.

    Erstellen einer Ansicht.

    Diese Aktion platziert eine bearbeitbare Ansichtsvorlage in den Abfrage-Editor.

  2. Bearbeiten Sie die Anzeigevorlage entsprechend Ihren Anforderungen. Wenn Sie einen Namen für die Ansicht in die Anweisung eingeben, denken Sie daran, dass Ansichtsnamen keine anderen Sonderzeichen als den Unterstrich (_)enthalten können. Siehe Namen für Tabellen, Datenbanken und Spalten. Vermeiden Sie Reservierte Schlüsselwörter für die Benennung von Ansichten.

    Weitere Informationen zum Erstellen von Ansichten finden Sie unter CREATE VIEW und Beispiele für Ansichten.

  3. Wählen Sie Run (Ausführen), um die Ansicht zu erstellen. Die Ansicht wird in der Liste der Ansichten in der Athena-Konsole angezeigt.

So erstellen Sie eine Ansicht aus einer vorhandenen Abfrage
  1. Verwenden Sie den Athena-Abfrage-Editor, um eine vorhandene Abfrage auszuführen.

  2. Wählen Sie im Fenster des Abfrage-Editors Create (Erstellen) und dann View from query (Aus Abfrage anzeigen) aus.

    Wählen Sie Creat (Erstellen), View from query (Aus Abfrage anzeigen) aus.
  3. Geben Sie im Dialogfeld Create View (Ansicht erstellen) einen Namen für die Ansicht ein und wählen Sie Create (Erstellen). Ansichtsnamen dürfen keine Sonderzeichen enthalten außer Unterstriche (_). Siehe Namen für Tabellen, Datenbanken und Spalten. Vermeiden Sie Reservierte Schlüsselwörter für die Benennung von Ansichten.

    Athena fügt die Ansicht zur Liste der Ansichten in der Konsole hinzu und zeigt dieCREATE VIEW-Anweisung für die Ansicht im Abfrage-Editor.

Hinweise
  • Wenn Sie eine Tabelle löschen, auf der eine Tabelle basiert, und anschließend versuchen, die Ansicht auszuführen, wird in Athena eine Fehlermeldung angezeigt.

  • Sie können eine verschachtelte Ansicht erstellen. Dabei handelt es sich um eine Ansicht auf eine vorhandene Ansicht. Athena verhindert, dass Sie eine rekursive Ansicht ausführen, die auf sich selbst verweist.

Beispiele für Ansichten

Verwenden Sie zum Anzeigen der Syntax für die Ansichtsabfrage SHOW CREATE VIEW.

Beispiel 1

Stellen Sie sich folgende zwei Tabellen vor: eine Tabelle employees mit zwei Spalten, id und name, und eine Tabelle salaries mit zwei Spalten, id und salary.

In diesem Beispiel erstellen wir eine Ansicht mit dem Namen name_salary als SELECT-Abfrage, die eine Liste mit IDs abruft, die Gehältern aus den Tabellen employees und salaries zugeordnet sind:

CREATE VIEW name_salary AS SELECT employees.name, salaries.salary FROM employees, salaries WHERE employees.id = salaries.id
Beispiel 2

Im folgenden Beispiel erstellen wir eine Ansicht mit dem Namen view1 , mit der Sie die komplexere Abfrage-Syntax ausblenden.

Diese Ansicht läuft auf zwei Tabellen, table1 und table2, wobei jede Tabelle eine andere SELECT-Abfrage ist. Die Ansicht wählt Spalten aus table1 und fügt die Ergebnisse mit table2 zusammen. Der Join basiert auf der Spalte a, die in beiden Tabellen vorhanden ist.

CREATE VIEW view1 AS WITH table1 AS ( SELECT a, MAX(b) AS the_max FROM x GROUP BY a ), table2 AS ( SELECT a, AVG(d) AS the_avg FROM y GROUP BY a) SELECT table1.a, table1.the_max, table2.the_avg FROM table1 JOIN table2 ON table1.a = table2.a;

Weitere Informationen zu Verbundabfrageansichten finden Sie unter Verbundansichten abfragen.