Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'une hiérarchie de plusieurs catalogues dans AWS Glue Data Catalog avec Spark sur Amazon EMR
Vous pouvez enregistrer votre EMR cluster Amazon pour accéder au catalogue de données AWS Glue, qui met les tables et autres ressources du catalogue à la disposition de différents consommateurs. AWS Glue Data Catalog prend en charge une hiérarchie de catalogues multiples, qui unifie vos données dans les lacs de données Amazon S3. Il fournit également à la fois un métastore Hive API et un Apache Iceberg REST API open source pour accéder aux données. Ces fonctionnalités sont disponibles pour Amazon EMR et d'autres services tels qu' Amazon Athena Amazon Redshift.
Comment les ressources du catalogue sont organisées
Lorsque vous créez des ressources dans le catalogue de données AWS Glue, vous pouvez y accéder depuis n'importe quel SQL moteur prenant en charge le métastore Apache Iceberg REST API ou Hive. AWS Lake Formation gère les autorisations.
Dans AWS Glue Data Catalog, les données sont organisées selon une hiérarchie logique de catalogues, de bases de données et de tables :
Catalogue : conteneur logique qui contient des objets provenant d'un magasin de données, tels que des schémas ou des tables.
-
Catalogue pour stocker les tables Redshift Managed Storage (RMS) : lorsque vous gérez des catalogues pour stocker des RMS tables, vous pouvez accéder à ces tables à l'aide d'Iceberg.
Base de données : organise les objets de données tels que les tables et les vues dans un catalogue.
Tables et vues : objets de données d'une base de données qui fournissent une couche d'abstraction avec un schéma compréhensible. Ils fournissent une couche permettant d'accéder aux données sous-jacentes, qui peuvent être dans différents formats et à différents emplacements.
Configuration d'un catalogue de données à utiliser avec Amazon EMR
Pour commencer, vous devez configurer le catalogue pour qu'il prenne en charge EMR les outils Amazon. Le catalogue de données AWS Glue est compatible avec le métastore Hive et avec Iceberg. REST APIs
Configuration d'Amazon EMR avec un métastore Hive
Pour plus d'informations sur la configuration de cette option, consultez la section relative à la prise en charge des tâches Spark par AWS Glue Data Catalog dans le guide de l'utilisateur de AWS Glue. Cette rubrique explique comment configurer AWS Glue Data Catalog en tant que métastore Hive et comment le rendre disponible en tant que point de terminaison. De plus, une EMR documentation Amazon est disponible qui explique comment spécifier AWS Glue Data Catalog en tant que métastore Spark, dans Use the AWS Glue Data Catalog en tant que métastore Apache Hive pour Spark.
Autorisations d'accès aux ressources dans AWS Glue Data Catalog
Cette section décrit les exigences IAM politiques relatives à l'utilisation des EMR outils Amazon avec les données du catalogue. Après avoir enregistré votre cluster dans le catalogue de données AWS Glue, vous devez disposer des autorisations suivantes pour découvrir la création et les modifications apportées au catalogue de données créé ultérieurement :
colle : GetCatalog
colle : GetCatalogs
sets : AssumeRole
sets : TagSession
sets : SetContext
sets : SetSourceIdentity
Dans la plupart des cas, lorsque vous attribuez des autorisations, nous vous recommandons de créer un IAM rôle et de lui attribuer des autorisations.
En outre, pour interroger les données du catalogue, vous devez définir des autorisations pour le catalogue de données à l'aide de AWS Lake Formation. Pour plus d'informations sur la définition des autorisations pour les catalogues de données dans AWS Lake Formation, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données.
Après avoir créé et configuré votre cluster, et défini les autorisations sur les objets de votre catalogue, vous pouvez soumettre des tâches pour interroger et traiter des données.
Configurer Spark pour accéder à une hiérarchie de catalogues multiples dans AWS Glue Data Catalog
Avec la EMR version 7.5, vous pouvez configurer Spark pour utiliser AWS la hiérarchie multi-catalogues de Glue. Une hiérarchie de catalogues multiples vous permet de :
Importez vos données Redshift Managed Storage (RMS), telles que les tables, les vues et les vues matérialisées provenant des entrepôts de données Amazon Redshift existants, vers Glue Data Catalog. AWS Vous pouvez interroger ces objets en utilisant EMR on EC2 et EMR Serverless.
Créez des RMS catalogues, AWS Glue Data Catalog, stockez les données à RMS l'aide de Zero ETL et interrogez les données à l'aide de moteurs de requête compatibles avec Iceberg.
Créez des tables Iceberg gérées dans AWS Glue Data Catalog grâce à une gestion du stockage complète qui inclut le compactage, les instantanés et la rétention.
Connexion à un catalogue multiple lors de l'initialisation d'une session Spark
Les exemples suivants montrent comment utiliser le shell interactif Spark, Spark Submit ou Amazon EMR Notebooks pour utiliser la hiérarchie multi-catalogues de AWS Glue.
Initialisation d'une session Spark dans Redshift Managed Storage with AWS Glue Data Catalog
L'exemple de commande suivant initialise une session Spark avec le AWS Glue Data Catalog.
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
L'exemple suivant initialise une session Spark à l'aide du catalogue de données Iceberg et REST API Redshift Managed Storage with Glue 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
Pour plus d'informations sur l'utilisation d'une hiérarchie multi-catalogues AWS Glue avec Spark Iceberg, consultez Utiliser un cluster Iceberg avec Spark.
Considérations et limites relatives à une configuration à catalogues multiples
L'utilisation d'une hiérarchie de catalogues multiples avec le métastore Apache Hive n'est pas prise en charge.
L'utilisation d'une hiérarchie de catalogues multiples avec Apache Iceberg ne permet pas de revenir à la métastore Apache Hive lors de l'utilisation.
SparkSessionCatalog
EMRsur les EC2 clusters dotés du rôle Runtime, la hiérarchie multi-catalogues n'est pas prise en charge.
EMRsur les EC2 clusters activés qui AWS Lake Formation ne prennent pas en charge la hiérarchie multi-catalogues.