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.
Mit Glue-Datenkatalogansichten arbeiten
Sie können Ansichten im AWS Glue Data Catalog für die Verwendung mit EMR Serverless erstellen und verwalten. Diese werden allgemein als AWS Glue Data Catalog-Ansichten bezeichnet. Diese Ansichten sind nützlich, da sie mehrere SQL-Abfrage-Engines unterstützen, sodass Sie über verschiedene AWS Dienste wie EMR Serverless und Amazon Redshift auf dieselbe Ansicht zugreifen können. Amazon Athena
Indem Sie eine Ansicht im Datenkatalog erstellen, können Sie mithilfe von Ressourcenzuweisungen und tagbasierten Zugriffskontrollen Zugriff AWS Lake Formation darauf gewähren. Mit dieser Methode der Zugriffskontrolle müssen Sie keinen zusätzlichen Zugriff auf die Tabellen konfigurieren, auf die Sie beim Erstellen der Ansicht verwiesen haben. Diese Methode zur Erteilung von Berechtigungen wird Definer-Semantik genannt, und diese Ansichten werden Defineransichten genannt. Weitere Informationen zur Zugriffskontrolle in Lake Formation finden Sie unter Gewähren und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.
Datenkatalogansichten sind für die folgenden Anwendungsfälle nützlich:
Granulare Zugriffskontrolle — Sie können eine Ansicht erstellen, die den Datenzugriff auf der Grundlage der vom Benutzer benötigten Berechtigungen einschränkt. Mithilfe von Ansichten im Datenkatalog können Sie beispielsweise verhindern, dass Mitarbeiter, die nicht in der Personalabteilung arbeiten, persönlich identifizierbare Informationen (PII) sehen.
Vollständige Ansichtsdefinition — Indem Sie Filter auf Ihre Ansicht im Datenkatalog anwenden, stellen Sie sicher, dass die in einer Ansicht im Datenkatalog verfügbaren Datensätze immer vollständig sind.
Verbesserte Sicherheit — Die zur Erstellung der Ansicht verwendete Abfragedefinition muss vollständig sein. Dieser Vorteil bedeutet, dass Ansichten im Datenkatalog weniger anfällig für SQL-Befehle von böswilligen Akteuren sind.
Einfaches Teilen von Daten — Teilen Sie Daten mit anderen AWS Konten, ohne Daten verschieben zu müssen. Weitere Informationen finden Sie unter Kontoübergreifender Datenaustausch in Lake Formation.
Erstellen einer Data-Catalog-Ansicht
Es gibt verschiedene Möglichkeiten, eine Datenkatalogansicht zu erstellen. Dazu gehört die Verwendung von AWS CLI oder Spark-SQL. Es folgen einige Beispiele.
Im Folgenden wird die Syntax zum Erstellen einer Datenkatalogansicht veranschaulicht. Notieren Sie sich den MULTI DIALECT
Ansichtstyp. Dies unterscheidet die Datenkatalogansicht von anderen Ansichten. Das SECURITY
Prädikat ist angegeben als. DEFINER
Dies weist auf eine Datenkatalogansicht mit DEFINER
Semantik hin.
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW [IF NOT EXISTS] view_name
[(column_name [COMMENT column_comment], ...) ]
[ COMMENT view_comment ]
[TBLPROPERTIES (property_name = property_value, ... )]
SECURITY DEFINER
AS query;
Im Folgenden finden Sie eine CREATE
Beispielanweisung, die der Syntax folgt:
CREATE PROTECTED MULTI DIALECT VIEW catalog_view
SECURITY DEFINER
AS
SELECT order_date, sum(totalprice) AS price
FROM source_table
GROUP BY order_date
Sie können eine Ansicht auch im Probelaufmodus mit SQL erstellen, um die Erstellung der Ansicht zu testen, ohne die Ressource tatsächlich zu erstellen. Die Verwendung dieser Option führt zu einem „Probelauf“, der die Eingabe validiert und, falls die Validierung erfolgreich ist, die JSON des AWS Glue-Tabellenobjekts zurückgibt, das die Ansicht darstellt. In diesem Fall wird die tatsächliche Ansicht nicht erstellt.
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW
view_name
SECURITY DEFINER [ SHOW VIEW JSON ] ASview-sql
Unterstützte View-Operationen
Die folgenden Befehlsfragmente zeigen Ihnen verschiedene Möglichkeiten, mit Datenkatalogsichten zu arbeiten:
ANSICHT ERSTELLEN
Erstellt eine Datenkatalogansicht. Im Folgenden finden Sie ein Beispiel, das das Erstellen einer Ansicht aus einer vorhandenen Tabelle zeigt:
CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT * FROM my_catalog.my_database.source_table
ANSICHT ÄNDERN
Verfügbare Syntax:
ALTER VIEW view_name [FORCE] ADD DIALECT AS query
ALTER VIEW view_name [FORCE] UPDATE DIALECT AS query
ALTER VIEW view_name DROP DIALECT
Sie können die
FORCE ADD DIALECT
Option verwenden, um die Aktualisierung des Schemas und der Unterobjekte gemäß dem neuen Engine-Dialekt zu erzwingen. Beachten Sie, dass dies zu Abfragefehlern führen kann, wenn Sie nicht auch andere Engine-Dialekte aktualisieren.FORCE
Im Folgenden wird ein Beispiel gezeigt:ALTER VIEW catalog_view FORCE ADD DIALECT AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY orderdate;
Im Folgenden wird gezeigt, wie eine Ansicht geändert wird, um den Dialekt zu aktualisieren:
ALTER VIEW catalog_view UPDATE DIALECT AS SELECT count(*) FROM my_catalog.my_database.source_table;
ANSICHT BESCHREIBEN
Verfügbare Syntax für die Beschreibung einer Ansicht:
SHOW COLUMNS {FROM|IN} view_name [{FROM|IN} database_name]
— Wenn der Benutzer über die erforderlichen AWS Glue- und Lake Formation Formation-Berechtigungen verfügt, um die Ansicht zu beschreiben, kann er die Spalten auflisten. Im Folgenden finden Sie einige Beispielbefehle zum Anzeigen von Spalten:SHOW COLUMNS FROM my_database.source_table; SHOW COLUMNS IN my_database.source_table;
DESCRIBE view_name
— Wenn der Benutzer über die erforderlichen AWS Glue- und Lake Formation Formation-Berechtigungen verfügt, um die Ansicht zu beschreiben, kann er die Spalten in der Ansicht zusammen mit ihren Metadaten auflisten.
ANSICHT LÖSCHEN
Verfügbare Syntax:
DROP VIEW [ IF EXISTS ] view_name
Das folgende Beispiel zeigt eine
DROP
Anweisung, die testet, ob eine Ansicht existiert, bevor sie gelöscht wird:DROP VIEW IF EXISTS catalog_view;
ANSICHT „ERSTELLEN“ ANZEIGEN
SHOW CREATE VIEW view_name
— Zeigt die SQL-Anweisung an, die die angegebene Ansicht erstellt. Im Folgenden finden Sie ein Beispiel, das die Erstellung einer Datenkatalogansicht zeigt:SHOW CREATE TABLE my_database.catalog_view; CREATE PROTECTED MULTI DIALECT VIEW my_catalog.my_database.catalog_view ( net_profit, customer_id, item_id, sold_date) TBLPROPERTIES ( 'transient_lastDdlTime' = '1736267222') SECURITY DEFINER AS SELECT * FROM my_database.store_sales_partitioned_lf WHERE customer_id IN (SELECT customer_id from source_table limit 10)
ANSICHTEN ANZEIGEN
Listet alle Ansichten im Katalog auf, z. B. reguläre Ansichten, Ansichten mit mehreren Dialekten (MDV) und MDV ohne Spark-Dialekt. Die verfügbare Syntax lautet wie folgt:
SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]
:Im Folgenden wird ein Beispielbefehl zum Anzeigen von Ansichten gezeigt:
SHOW VIEWS IN marketing_analytics LIKE 'catalog_view*';
Weitere Informationen zum Erstellen und Konfigurieren von Datenkatalog-Ansichten finden Sie unter Building AWS Glue Data Catalog Views im AWS Lake Formation Developer Guide.
Abfrage einer Data-Catalog-Ansicht
Nachdem Sie eine Datenkatalogsicht erstellt haben, können Sie eine IAM-Rolle verwenden, um die Ansicht abzufragen. Die IAM-Rolle muss über die Lake Formation SELECT-Berechtigung in der Datenkatalogansicht verfügen. Sie müssen keinen Zugriff auf die zugrunde liegenden Tabellen gewähren, auf die in der Ansicht verwiesen wird. Die für die Abfrage der Ansicht verwendete IAM-Rolle muss die Runtime-Rolle der EMR-Anwendung sein. Sie können von EMR Serverless aus auf die Ansicht zugreifen, indem Sie eine Runtime-Rolle aus Amazon EMR Steps, EMR Studio und AI Studio verwenden. SageMaker
Sobald Sie alles eingerichtet haben, können Sie Ihre Ansicht abfragen. Nachdem Sie beispielsweise eine serverlose EMR-Anwendung in EMR Studio erstellt haben, können Sie die folgende Abfrage ausführen, um auf eine Ansicht zuzugreifen.
SELECT * from
my_database
.catalog_view
LIMIT 10;
Überlegungen und Einschränkungen
Wenn Sie Datenkatalogansichten erstellen, gilt Folgendes:
Sie können Datenkatalogansichten nur mit Amazon EMR 7.6 und höher erstellen.
Der Data Catalog View Definer muss
SELECT
Zugriff auf die zugrunde liegenden Basistabellen haben, auf die über die Ansicht zugegriffen wird. Das Erstellen der Datenkatalogansicht schlägt fehl, wenn einer bestimmten Basistabelle Lake Formation-Filter zugewiesen wurden, die der Definiererrolle zugewiesen wurden.Basistabellen dürfen nicht über die
IAMAllowedPrincipals
Data Lake-Berechtigung in Lake Formation verfügen. Falls vorhanden, tritt der Fehler Multi Dialect views may only reference tables without IAMAllowed Principals permissions auf.Der Amazon S3-Standort der Tabelle muss als Lake Formation Data Lake-Standort registriert sein. Wenn die Tabelle nicht 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.
Sie können nur
PROTECTED
Datenkatalogansichten erstellen.UNPROTECTED
Ansichten werden nicht unterstützt.Sie können in einer Datenkatalog-Ansichtsdefinition nicht auf Tabellen in einem anderen AWS Konto verweisen. Sie können auch nicht auf eine Tabelle in demselben Konto verweisen, das sich in einer separaten Region befindet.
Um Daten für ein Konto oder eine Region gemeinsam zu nutzen, muss die gesamte Ansicht mithilfe von Lake Formation Formation-Ressourcenlinks konto- und regionsübergreifend geteilt werden.
Benutzerdefinierte Funktionen (UDFs) werden nicht unterstützt.
Sie können Ansichten verwenden, die auf Iceberg-Tabellen basieren. Die Open-Table-Formate Apache Hudi und Delta Lake werden ebenfalls unterstützt.
Sie können in Datenkatalogansichten nicht auf andere Ansichten verweisen.