Verwenden Sie Datenkatalogansichten in Athena - 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.

Verwenden Sie Datenkatalogansichten in Athena

Das Erstellen von Datenkatalogansichten in Amazon Athena erfordert eine spezielle CREATE VIEW Erklärung. Ihre Abfrage verwendet die konventionelle SQL SELECT Syntax.

Erstellen Sie eine Datenkatalogansicht

Verwenden Sie die folgende Syntax, um eine Datenkatalogansicht in Athena zu erstellen.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS athena-sql-statement
Anmerkung

Die SHOW VIEW JSON Option gilt nur für Datenkatalogansichten und nicht für Athena-Ansichten. Bei Verwendung der SHOW VIEW JSON Option wird ein „Probelauf“ durchgeführt, der die Eingabe validiert und, falls die Validierung erfolgreich ist, Folgendes zurückgibt JSON AWS Glue Tabellenobjekt, das die Ansicht darstellt. Die tatsächliche Ansicht wird nicht erstellt. Wenn die SHOW VIEW JSON Option nicht angegeben ist, werden Validierungen durchgeführt und die Ansicht wird wie gewohnt im Datenkatalog erstellt.

Das folgende Beispiel zeigt, wie ein Benutzer der Definer Rolle die orders_by_date Datenkatalogansicht erstellt. Im Beispiel wird davon ausgegangen, dass die Definer-Rolle über vollständige SELECT-Berechtigungen für die orders-Tabelle in der default-Datenbank verfügt.

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

Informationen zur Syntax finden Sie unterCREATE PROTECTED MULTI DIALECT VIEW.

Fragen Sie eine Datenkatalogansicht ab

Nachdem die Ansicht erstellt wurde, kann der Lake Formation Administrator den Invoker Prinzipalen SELECT Berechtigungen für die Datenkatalogansicht gewähren. Die Invoker-Prinzipale können dann die Ansicht abfragen, ohne Zugriff auf die zugrunde liegenden Basistabellen zu haben, auf die in der Ansicht verwiesen wird. Im Folgenden finden Sie ein Beispiel für eine Invoker-Abfrage.

SELECT * from orders_by_date where price > 5000

Einschränkungen

Die folgenden Einschränkungen der Datenkatalogansicht sind spezifisch für Athena. Einschränkungen für Datenkatalogansichten, die sowohl für Athena als auch für andere Dienste gelten, finden Sie in der Dokumentation zu Lake Formation.

  • Datenkatalogsichten können nicht auf andere Ansichten, Datenbankressourcen-Links oder Tabellenressourcen-Links verweisen.

  • Sie können in der Ansichtsdefinition auf bis zu 10 Tabellen verweisen.

  • Zugrundeliegende Tabellen müssen bei Lake Formation registriert sein.

  • Der DEFINER Principal kann nur eine IAM Rolle sein.

  • Die DEFINER-Rolle muss über vollständige SELECT-Berechtigungen (gewährbar) für die zugrunde liegenden Tabellen verfügen.

  • UNPROTECTED-Data-Catalog-Ansichten werden nicht unterstützt.

  • Benutzerdefinierte Funktionen (UDFs) werden in der Viewdefinition nicht unterstützt.

  • Verbunddatenquellen von Athena können nicht in Data-Catalog-Ansichten verwendet werden.

  • Datenkatalogansichten werden für externe Datenkatalogansichten nicht unterstützt Hive Metastoren.

  • 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.

Berechtigungen

Für Data-Catalog-Ansichten sind drei Rollen erforderlich: Lake Formation Admin, Definer und Invoker.

  • Lake Formation Admin – Hat Zugriff auf die Konfiguration aller Lake-Formation-Berechtigungen.

  • Definer – Erstellt die Data-Catalog-Ansicht. Die Definer-Rolle muss über vollständige SELECT-Berechtigungen für alle zugrunde liegenden Tabellen verfügen, auf die die Ansichtsdefinition verweist.

  • Invoker – Kann die Data-Catalog-Ansicht abfragen oder deren Metadaten prüfen. Um den Aufrufer einer Abfrage anzuzeigen, können Sie die invoker_principal() DML Funktion verwenden. Weitere Informationen finden Sie unter invoker_principal ().

Die Vertrauensbeziehungen der Definer Rolle müssen die sts:AssumeRole Aktion für die ermöglichen AWS Glue und die Leiter des Lake Formation Service. Weitere Informationen finden Sie unter Voraussetzungen für das Erstellen von Ansichten im AWS Lake Formation Entwicklerhandbuch.

IAMBerechtigungen für den Zugriff auf Athena sind ebenfalls erforderlich. Weitere Informationen finden Sie unter AWS verwaltete Richtlinien für Amazon Athena.