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.
Empêcher un robot de modifier un schéma existant
Vous pouvez empêcher AWS Glue crawler de modifier le schéma du catalogue de données lors de son exécution. Par défaut, les robots mettent à jour le schéma du catalogue de données pour qu’il corresponde à la source de données analysée. Toutefois, dans certains cas, vous souhaiterez peut-être empêcher le robot de modifier le schéma existant, en particulier si vous avez transformé ou nettoyé les données et que vous ne souhaitez pas que le schéma d’origine remplace les modifications.
Suivez ces étapes pour configurer votre robot de manière à ne pas remplacer le schéma existant dans une définition de table.
-
the console
-
-
Connectez-vous à la the console et ouvrez la console AWS Glue à l’adresse https://console.aws.amazon.com/glue/.
-
Choisissez Robots dans le Catalogue de données.
-
Choisissez un robot dans la liste, puis Modifier.
-
Choisissez étape 4, Définir la sortie et la planification.
-
Sous Options avancées, choisissez Ajouter de nouvelles colonnes uniquement ou Ignorer la modification et ne pas mettre à jour la table dans le catalogue de données.
-
En outre, vous pouvez définir une option de configuration sur Mettre à jour toutes les partitions nouvelles et existantes avec les métadonnées de la table. Cela définit les schémas de partition pour qu’ils héritent de la table.
Choisissez Mettre à jour.
- AWS CLI
-
L’exemple suivant montre comment configurer un robot pour ne pas modifier le schéma existant, mais uniquement pour ajouter de nouvelles colonnes :
aws glue update-crawler \
--name myCrawler \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'
L’exemple suivant montre comment configurer un robot pour ne pas modifier le schéma existant et ne pas ajouter de nouvelles colonnes :
aws glue update-crawler \
--name myCrawler \
--schema-change-policy UpdateBehavior=LOG \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
- API
-
Si vous ne voulez pas qu’un schéma de table soit modifié lorsqu’un crawler s’exécute, définissez la politique de modification du schéma sur LOG.
Lorsque vous configurez l’crawler à l’aide de l’API, définissez les paramètres suivants :
Définissez le champ UpdateBehavior de la structure SchemaChangePolicy sur LOG.
Définissez le champ Configuration avec une représentation de chaîne de l’objet JSON suivant dans l’API de l’crawler ; par exemple :
{
"Version": 1.0,
"CrawlerOutput": {
"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }
}
}