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
Für die Erstellung von Datenkatalogansichten in Amazon Athena ist eine spezielle CREATE VIEW
Erklärung erforderlich. Ihre Abfrage verwendet die konventionelle SQL SELECT
Syntax. Datenkatalogansichten werden auch als Ansichten mit mehreren Dialekten oder bezeichnet. MDVs
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 Überprüfung erfolgreich ist, das JSON AWS Glue
Tabellenobjekt zurückgibt, das die Ansicht darstellen wird. 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
Überlegungen und Einschränkungen
Die meisten der folgenden Einschränkungen der Datenkatalogansicht sind spezifisch für Athena. Zusätzliche Einschränkungen für Datenkatalogansichten, die auch für andere Dienste gelten, finden Sie in der Dokumentation zu Lake Formation.
-
Datenkatalogsichten können nicht auf andere Ansichten, Datenbankressourcenlinks oder Tabellenressourcenlinks verweisen.
-
Sie können in der Ansichtsdefinition auf bis zu 10 Tabellen verweisen.
-
Tabellen dürfen nicht über die
IAMAllowedPrincipals
Data Lake-Berechtigung in Lake Formation verfügen. Falls vorhanden, tritt der FehlerMulti Dialect views may only references tables without IAMAllowedPrincipals permissions
. -
Der Amazon S3-Standort der Tabelle muss als Lake Formation Data Lake-Standort registriert sein. Wenn die Tabelle nicht so registriert ist, tritt der Fehler
Multi Dialect views may only reference Lake Formation managed tables
auf. Informationen zur Registrierung von Amazon S3 S3-Standorten in Lake Formation finden Sie unter Registrierung eines Amazon S3 S3-Standorts im AWS Lake Formation Entwicklerhandbuch. -
Die SearchTablesAPIAufrufe AWS Glue GetTablesund aktualisieren den
IsRegisteredWithLakeFormation
Parameter nicht. Um den richtigen Wert für den Parameter anzuzeigen, verwenden Sie den AWS Glue GetTableAPI. Weitere Informationen finden Sie im AWS Lake Formation Entwicklerhandbuch unter GetTables und aktualisieren SearchTables APIs Sie den Wert für den IsRegisteredWithLakeFormation Parameter nicht. -
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
Maßnahmen für die Dienstleiter AWS Glue und Lake Formation ermöglichen. Weitere Informationen finden Sie im AWS Lake Formation Entwicklerhandbuch unter Voraussetzungen für das Erstellen von Ansichten.
IAMBerechtigungen für den Zugriff auf Athena sind ebenfalls erforderlich. Weitere Informationen finden Sie unter AWS verwaltete Richtlinien für Amazon Athena.