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 ] ASathena-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ändigeSELECT
-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. DieDefiner
-Rolle muss über vollständigeSELECT
-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 dieinvoker_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.