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 einer Hierarchie mit mehreren Katalogen in AWS Glue-Datenkatalog mit Spark auf Amazon EMR
Sie können Ihren Amazon EMR-Cluster registrieren, um auf den AWS Glue-Datenkatalog zuzugreifen, der Tabellen und andere Katalogressourcen verschiedenen Verbrauchern zur Verfügung stellt. AWS Glue Data Catalog unterstützt eine Hierarchie mit mehreren Katalogen, die Ihre Daten in Amazon S3-Data Lakes vereinheitlicht. Es bietet auch sowohl eine Hive-Metastore-API als auch eine Open-Source-Apache Iceberg REST-API für den Zugriff auf die Daten. Diese Funktionen stehen Amazon EMR und anderen Diensten wie Amazon Redshift zur Verfügung. Amazon Athena
Wie sind die Katalogressourcen organisiert
Wenn Sie Ressourcen im AWS Glue Data Catalog erstellen, können Sie von jeder SQL-Engine aus, die die Apache Iceberg REST-API oder den Hive-Metastore unterstützt, darauf zugreifen. AWS Lake Formation verwaltet die Berechtigungen.
In AWS Glue Data Catalog sind Daten in einer logischen Hierarchie aus Katalogen, Datenbanken und Tabellen organisiert:
-
Katalog — Ein logischer Container, der Objekte aus einem Datenspeicher wie Schemas oder Tabellen enthält.
-
Katalog zum Speichern von Redshift Managed Storage (RMS) -Tabellen — Wenn Sie Kataloge zum Speichern von RMS-Tabellen verwalten, können Sie mit Iceberg auf diese Tabellen zugreifen.
-
Datenbank — Organisiert Datenobjekte wie Tabellen und Ansichten in einem Katalog.
-
Tabellen und Ansichten — Datenobjekte in einer Datenbank, die eine Abstraktionsebene mit einem verständlichen Schema bieten. Sie bieten eine Ebene für den Zugriff auf die zugrunde liegenden Daten, die in verschiedenen Formaten und an verschiedenen Orten vorliegen können.
Konfiguration eines Datenkatalogs für die Verwendung mit Amazon EMR
Zu Beginn konfigurieren Sie den Katalog so, dass er Amazon EMR-Tools unterstützt. Der AWS Glue-Datenkatalog bietet Hive-Metastore-Kompatibilität und Iceberg REST-kompatible APIs.
Konfiguration von Amazon EMR mit einem Hive-Metastore
Informationen zur Einrichtung finden Sie unter AWS Glue Data Catalog-Unterstützung für Spark-Jobs im AWS Glue-Benutzerhandbuch. In diesem Thema wird beschrieben, wie AWS Glue Data Catalog als Hive-Metastore konfiguriert und als Endpunkt verfügbar gemacht wird. Darüber hinaus ist eine Amazon EMR-Dokumentation verfügbar, die Ihnen zeigt, wie Sie den AWS Glue-Datenkatalog als Spark-Metastore verwenden, unter Verwenden Sie den AWS Glue-Datenkatalog als Apache Hive-Metastore für Spark.
Berechtigungen für den Zugriff auf Ressourcen in AWS Glue Data Catalog
In diesem Abschnitt werden die IAM-Richtlinienanforderungen für die Verwendung von Amazon EMR-Tools mit Katalogdaten beschrieben. Nachdem Sie Ihren Cluster beim AWS Glue-Datenkatalog registriert haben, benötigen Sie die folgenden Berechtigungen, um die Erstellung und die Änderungen des anschließend erstellten Datenkatalogs zu erkennen:
-
kleben: GetCatalog
-
kleben: GetCatalogs
-
Sätze: AssumeRole
-
Sätze: TagSession
-
Sätze: SetContext
-
Sätze: SetSourceIdentity
In den meisten Fällen empfehlen wir, beim Zuweisen von Berechtigungen eine IAM-Rolle zu erstellen und ihr Berechtigungen zuzuweisen.
Um Katalogdaten abzufragen, müssen Sie außerdem Berechtigungen für den Datenkatalog festlegen, indem Sie Folgendes verwenden. AWS Lake Formation Weitere Informationen zum Festlegen von Berechtigungen für Datenkataloge finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen. AWS Lake Formation
Nachdem Sie Ihren Cluster erstellt und konfiguriert und Berechtigungen für Ihre Katalogobjekte festgelegt haben, können Sie Aufträge zum Abfragen und Verarbeiten von Daten einreichen.
Konfigurieren Sie Spark für den Zugriff auf eine Hierarchie mit mehreren Katalogen in AWS Glue Data Catalog
Mit EMR 7.5 können Sie Spark so konfigurieren, dass es die Multi-Katalog-Hierarchie von AWS Glue verwendet. Eine Hierarchie mit mehreren Katalogen ermöglicht Ihnen:
-
Bringen Sie Ihre Redshift Managed Storage (RMS) -Daten wie Tabellen, Ansichten und materialisierte Ansichten aus bestehenden Amazon Redshift-Data Warehouses in Glue Data Catalog. AWS Sie können diese Objekte mit EMR auf EC2 und EMR Serverless abfragen.
-
Erstellen Sie RMS-Kataloge, AWS Glue Data Catalog und speichern Sie Daten in RMS mit ZeroETL und fragen Sie die Daten mit Abfrage-Engines ab. Iceberg-compatible
-
Erstellen Sie verwaltete Iceberg-Tabellen in AWS Glue Data Catalog mit umfassendem Speichermanagement, das Komprimierung, Snapshots und Aufbewahrung umfasst.
Stellen Sie eine Verbindung zu Multi-Catalog her, wenn Sie eine Spark-Sitzung initialisieren
Die folgenden Beispiele zeigen, wie Sie die interaktive Spark-Shell, Spark Submit oder Amazon EMR Notebooks verwenden, um mit der Multi-Katalog-Hierarchie von AWS Glue zu arbeiten.
Initialisieren Sie eine Spark-Sitzung mit Redshift Managed Storage mit AWS Glue Data Catalog
Der folgende Beispielbefehl initialisiert eine Spark-Sitzung mit dem AWS Glue-Datenkatalog.
spark-sql \ --conf spark.sql.catalog.rms=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type=glue \ --conf spark.sql.catalog.rms.glue.id=Glue RMS catalog ID\ --conf spark.sql.defaultCatalog=rms --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
Das folgende Beispiel initialisiert eine Spark-Sitzung mithilfe der Iceberg REST-API und Redshift Managed Storage with Glue Data Catalog. AWS
spark-sql \ --conf spark.sql.catalog.rms=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type=rest \ --conf spark.sql.catalog.rms.warehouse=glue RMS catalog ID\ --conf spark.sql.catalog.rms.uri=Glue endpoint URI/iceberg \ --conf spark.sql.catalog.rms.rest.sigv4-enabled=true \ --conf spark.sql.catalog.rms.rest.signing-name=glue \ --conf spark.sql.defaultCatalog=rms \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
Weitere Informationen zur Verwendung einer AWS Glue-Hierarchie mit mehreren Katalogen mit Spark Iceberg finden Sie unter Verwenden eines Iceberg-Clusters mit Spark.
Überlegungen und Einschränkungen für eine Konfiguration mit mehreren Katalogen
-
Die Verwendung einer Hierarchie mit mehreren Katalogen mit Apache Hive Metastore wird nicht unterstützt.
-
Die Verwendung einer Hierarchie mit mehreren Katalogen mit Apache Iceberg kann bei Verwendung von Apache Iceberg kein Fallback auf den Apache Hive-Metastore unterstützen.
SparkSessionCatalog -
EMR auf EC2-Clustern mit Runtime-Rolle unterstützt keine Hierarchie mit mehreren Katalogen.
-
EMR auf EC2-Clustern, für die aktiviert ist, unterstützt AWS Lake Formation keine Hierarchie mit mehreren Katalogen.