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 console AWS Glue ouCLI. 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.

Console

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

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

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

"{"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.