Empêcher un robot d'exploration de modifier un schéma existant - AWS Glue

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 d'exploration de modifier un schéma existant

Vous pouvez empêcher AWS Glue crawler s 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 Crawler 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.

AWS Management Console
  1. Connectez-vous à la AWS Glue console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/glue/.

  2. Choisissez Crawlers dans le catalogue de données.

  3. Choisissez un robot dans la liste, puis sélectionnez Modifier.

  4. Choisissez l'étape 4, Définir la sortie et la planification.

  5. Sous Options avancées, choisissez Ajouter de nouvelles colonnes uniquement ou Ignorer la modification et ne pas mettre à jour le tableau dans le catalogue de données.

  6. Vous pouvez également définir une option de configuration pour 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.

  7. Choisissez Mettre à jour.

AWS CLI

L'exemple suivant montre comment configurer un robot de recherche 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 de recherche pour ne pas modifier le schéma existant et pour 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 le robot d'exploration à l'aide duAPI, définissez les paramètres suivants :

  • Définissez le champ UpdateBehavior de la structure SchemaChangePolicy sur LOG.

  • Définissez le Configuration champ avec une représentation sous forme de chaîne de l'JSONobjet suivant dans le robot d'exploration API ; par exemple :

    { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }