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.
Configuration du métastore pour Serverless EMR
Un métastore Hive est un emplacement centralisé qui stocke les informations structurelles relatives à vos tables, notamment les schémas, les noms de partitions et les types de données. Avec EMR Serverless, vous pouvez conserver les métadonnées de cette table dans un métastore ayant accès à vos tâches.
Deux options s'offrent à vous pour créer un métastore Hive :
-
Le catalogue AWS de données Glue
-
Un métastore Apache Hive externe
Utiliser le catalogue AWS de données Glue comme métastore
Vous pouvez configurer vos tâches Spark et Hive pour utiliser le catalogue de données AWS Glue comme métastore. Nous recommandons cette configuration lorsque vous avez besoin d'un métastore persistant ou d'un métastore partagé par différentes applications, services ou. Comptes AWS Pour plus d'informations sur le catalogue de données, consultez la section Remplissage du catalogue de données AWS Glue. Pour plus d'informations sur AWS la tarification de Glue, consultez AWS la section Tarification de Glue
Vous pouvez configurer votre tâche EMR sans serveur pour utiliser le catalogue de données AWS Glue de la même manière Compte AWS que votre application ou dans une autre Compte AWS.
Configuration du catalogue AWS de données Glue
Pour configurer le catalogue de données, choisissez le type d'application EMR sans serveur que vous souhaitez utiliser.
Configurer l'accès entre comptes pour EMR Serverless et AWS Glue Data Catalog
Pour configurer l'accès entre comptes pour EMR Serverless, vous devez d'abord vous connecter à l'adresse suivante : Comptes AWS
-
AccountA
— Et Compte AWS où vous avez créé une application EMR sans serveur. -
AccountB
— Et Compte AWS qui contient un catalogue de données AWS Glue auquel vous souhaitez que votre tâche EMR sans serveur puisse accéder.
-
Assurez-vous qu'un administrateur ou une autre identité autorisée
AccountB
attache une politique de ressources au catalogue de données dansAccountB
. Cette politique accordeAccountA
des autorisations spécifiques entre comptes pour effectuer des opérations sur les ressources duAccountB
catalogue.{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal": { "AWS": [ "arn:aws:iam::
accountA
:role/job-runtime-role-A" ]}, "Action" : [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["arn:aws:glue:region:AccountB
:catalog"] } ] } -
Ajoutez une IAM politique au rôle d'exécution des tâches EMR sans serveur
AccountA
afin que ce rôle puisse accéder aux ressources du catalogue de données dansAccountB
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["arn:aws:glue:
region:AccountB
:catalog"] } ] } -
Commencez à exécuter votre tâche. Cette étape est légèrement différente selon le type
AccountA
d'application EMR Serverless.
Considérations relatives à l'utilisation du catalogue AWS de données Glue
Vous pouvez ajouter JARs un auxiliaire ADD JAR
dans vos scripts Hive. Pour plus d'informations, consultez la section Considérations relatives à l'utilisation de AWS Glue Data Catalog.