Spécifier le nombre maximum de tables que le robot d'exploration est autorisé à créer - 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.

Spécifier le nombre maximum de tables que le robot d'exploration est autorisé à créer

Vous pouvez éventuellement spécifier le nombre maximum de tables que le robot d'exploration est autorisé à créer en spécifiant un TableThreshold via la AWS Glue console ou AWS CLI. Si les tables détectées par le crawler lors de son analyse sont supérieures à cette valeur d'entrée, l'analyse échoue et aucune donnée n'est écrite dans le catalogue de données.

Ce paramètre est utile lorsque les tables qui seraient détectées et créées par le crawler sont beaucoup plus grandes que vos prévisions. Cela peut être dû à plusieurs raisons, notamment :

  • Lorsque vous utilisez une AWS Glue tâche pour renseigner vos emplacements Amazon S3, vous pouvez vous retrouver avec des fichiers vides au même niveau qu'un dossier. Dans de tels cas, lorsque vous exécutez un crawler sur cet emplacement Amazon S3, le crawler crée plusieurs tables en raison de la présence de fichiers et de dossiers au même niveau.

  • Si vous ne configurez pas "TableGroupingPolicy": "CombineCompatibleSchemas", vous pourriez vous retrouver avec plus de tables que prévu.

Vous devez spécifier la propriété TableThreshold sous forme d'une valeur de nombre entier supérieure à 0. Cette valeur est configurée par crawler. Cela signifie qu'elle est prise en compte pour chaque analyse. Par exemple : un crawler a la valeur TableThreshold définie sur 5. Lors de chaque analyse, AWS Glue compare le nombre de tables détectées à cette valeur seuil de table (5) et, si le nombre de tables détectées est inférieur à 5, AWS Glue écrit les tables dans le catalogue de données. Sinon, l'analyse échoue sans écriture dans le catalogue de données.

AWS Management Console
Pour effectuer le réglage TableThreshold à l'aide de 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. Lors de la configuration d'un robot, dans Sortie et planification, définissez le seuil de table maximal sur le nombre de tables que le robot est autorisé à générer.

    La section Sortie et planification de la AWS console affiche le paramètre Maximum table threshold.
AWS CLI

Pour effectuer le réglage TableThreshold à l'aide de AWS CLI :

aws glue update-crawler \ --name myCrawler \ --configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": { "TableThreshold": 5 }}}'
API

Pour effectuer le réglage TableThreshold à l'aide de API :

"{"Version":1.0, "CrawlerOutput": {"Tables":{"AddOrUpdateBehavior":"MergeNewColumns", "TableThreshold":5}}}";

Les messages d'erreur sont consignés pour vous aider à identifier les chemins d'accès aux tables et à nettoyer vos données. Exemple de journal dans votre compte si le crawler échoue, parce que le nombre de tables était supérieur à la valeur du seuil de tables fournie :

Table Threshold value = 28, Tables detected - 29

Dans CloudWatch, nous enregistrons tous les emplacements de table détectés sous forme de INFO message. Une erreur est consignée comme motif de l'échec.

ERROR com.amazonaws.services.glue.customerLogs.CustomerLogService - CustomerLogService received CustomerFacingException with message The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog. com.amazonaws.services.glue.exceptions.CustomerFacingInternalException: The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog.