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.
Résolution des erreurs Erreurs Spark
Si vous rencontrez des erreurs AWS Glue, utilisez les informations suivantes pour vous aider à trouver la source des problèmes et à les résoudre.
Note
Le AWS Glue GitHub référentiel contient des conseils de dépannage supplémentaires dans AWS Glue
les questions fréquemment posées
Rubriques
- Erreur : Ressource non disponible
- Erreur : Impossible de trouver le point de terminaison ou la NAT passerelle S3 pour subnetId VPC
- Erreur : Règle de trafic entrant obligatoire dans le groupe de sécurité
- Erreur : Règle de trafic sortant obligatoire dans le groupe de sécurité
- Erreur : L'exécution du Job a échoué car le rôle transmis doit être autorisé à assumer le rôle pour le AWS Glue service
- Erreur : l' DescribeVpcEndpoints action n'est pas autorisée. impossible de valider l'ID vpc-id VPC
- Erreur : l' DescribeRouteTables action n'est pas autorisée. impossible de valider l'identifiant du sous-réseau : ID du sous-réseau dans l'identifiant : vpc-id VPC
- Erreur : Impossible d'appeler ec2 : DescribeSubnets
- Erreur : Impossible d'appeler ec2 : DescribeSecurityGroups
- Erreur : Impossible de trouver le sous-réseau pour la zone de disponibilité
- Erreur : exception d'exécution du Job lors de l'écriture sur une JDBC cible
- Erreur : Amazon S3 : l'opération n'est pas valide pour la classe de stockage de l'objet
- Erreur : Délai Amazon S3
- Erreur : Accès à Amazon S3 refusé
- Erreur : L'identifiant de la clé d'accès Amazon S3 n'existe pas
- Erreur : l'exécution du Job échoue lors de l'accès à Amazon S3 avec un s3a:// URI
- Erreur : Le jeton de service Amazon S3 a expiré
- Erreur : aucune interface privée DNS pour le réseau n'a été trouvée
- Erreur : Échec de l'allocation du point de terminaison de développement
- Erreur : serveur Notebook CREATE _ FAILED
- Erreur : Échec du démarrage du bloc-notes local
- Erreur : Échec de l'exécution du crawler
- Erreur : les partitions n'ont pas été mises à jour
- Erreur : la mise à jour du signet de tâche a échoué en raison d'une incompatibilité de version
- Erreur : Une tâche retraite des données lorsque les signets de tâche sont activés
- Erreur : comportement de basculement entre VPCs AWS Glue
Erreur : Ressource non disponible
En cas de AWS Glue renvoi d'un message indiquant que la ressource n'est pas disponible, vous pouvez consulter les messages d'erreur ou les journaux pour en savoir plus sur le problème. Les tâches suivantes décrivent des méthodes générales permettant de résoudre des problèmes.
-
Pour tous les points de terminaison de connexion et de développement que vous utilisez, vérifiez que votre cluster n'est pas à court d'interfaces réseau Elastic.
Erreur : Impossible de trouver le point de terminaison ou la NAT passerelle S3 pour subnetId VPC
Vérifiez l'ID de sous-réseau et l'VPCID contenus dans le message pour vous aider à diagnostiquer le problème.
-
Vérifiez que vous avez configuré un point de VPC terminaison Amazon S3, ce qui est requis avec AWS Glue. Vérifiez également si votre NAT passerelle fait partie de votre configuration. Pour de plus amples informations, veuillez consulter Types de points de terminaison d'un VPC pour Amazon S3.
Erreur : Règle de trafic entrant obligatoire dans le groupe de sécurité
Au moins un groupe de sécurité doit ouvrir tous les ports d'entrée. Pour limiter le trafic, le groupe de sécurité source de votre règle de trafic entrant peut être limité au même groupe de sécurité.
-
Pour toutes les connexions que vous utilisez, vérifiez que votre groupe de sécurité possède une règle de trafic entrant avec référence circulaire. Pour de plus amples informations, veuillez consulter Configuration de l'accès réseau aux magasins de données.
-
Lorsque vous utilisez un point de terminaison de développement, vérifiez que votre groupe de sécurité possède une règle de trafic entrant avec référence circulaire. Pour de plus amples informations, veuillez consulter Configuration de l'accès réseau aux magasins de données.
Erreur : Règle de trafic sortant obligatoire dans le groupe de sécurité
Au moins un groupe de sécurité doit ouvrir tous les ports de sortie. Pour limiter le trafic, le groupe de sécurité source de votre règle de trafic sortant peut être limité au même groupe de sécurité.
-
Pour toutes les connexions que vous utilisez, vérifiez que votre groupe de sécurité possède une règle de trafic sortant avec référence circulaire. Pour de plus amples informations, veuillez consulter Configuration de l'accès réseau aux magasins de données.
-
Lorsque vous utilisez un point de terminaison de développement, vérifier que votre groupe de sécurité possède une règle de trafic sortant avec référence circulaire. Pour de plus amples informations, veuillez consulter Configuration de l'accès réseau aux magasins de données.
Erreur : L'exécution du Job a échoué car le rôle transmis doit être autorisé à assumer le rôle pour le AWS Glue service
L'utilisateur qui définit une tâche doit avoir l'autorisation pour iam:PassRole
pour AWS Glue.
-
Lorsqu'un utilisateur crée une AWS Glue tâche, vérifiez que le rôle de l'utilisateur contient une politique contenant
iam:PassRole
pour AWS Glue. Pour de plus amples informations, veuillez consulter Étape 3 : attacher une politique aux utilisateurs ou aux groupes accédant à AWS Glue.
Erreur : l' DescribeVpcEndpoints action n'est pas autorisée. impossible de valider l'ID vpc-id VPC
-
Vérifiez la politique transmise AWS Glue pour
ec2:DescribeVpcEndpoints
obtenir l'autorisation.
Erreur : l' DescribeRouteTables action n'est pas autorisée. impossible de valider l'identifiant du sous-réseau : ID du sous-réseau dans l'identifiant : vpc-id VPC
-
Vérifiez la politique transmise AWS Glue pour
ec2:DescribeRouteTables
obtenir l'autorisation.
Erreur : Impossible d'appeler ec2 : DescribeSubnets
-
Vérifiez la politique transmise AWS Glue pour
ec2:DescribeSubnets
obtenir l'autorisation.
Erreur : Impossible d'appeler ec2 : DescribeSecurityGroups
-
Vérifiez la politique transmise AWS Glue pour
ec2:DescribeSecurityGroups
obtenir l'autorisation.
Erreur : Impossible de trouver le sous-réseau pour la zone de disponibilité
-
La zone de disponibilité n'est peut-être pas disponible pour AWS Glue. Créez et utilisez un sous-réseau dans une autre zone de disponibilité que celle indiquée dans le message.
Erreur : exception d'exécution du Job lors de l'écriture sur une JDBC cible
Lorsque vous exécutez une tâche qui écrit sur une JDBC cible, la tâche peut rencontrer des erreurs dans les scénarios suivants :
-
Si votre tâche écrit dans une table Microsoft SQL Server et que la table contient des colonnes définies en tant que type
Boolean
, la table doit être prédéfinie dans la base de données SQL du serveur. Lorsque vous définissez la tâche sur la AWS Glue console à l'aide d'une cible SQL serveur avec l'option Créer des tables dans votre cible de données, ne mappez aucune colonne source à une colonne cible avec un type de donnéesBoolean
. Vous pourriez rencontrer une erreur lors de l'exécution de la tâche.Vous pouvez éviter cette erreur en procédant comme suit :
-
Choisissez une table existante avec la colonne Boolean (Booléen).
-
Modifiez la transformation
ApplyMapping
et mappez la colonne Boolean (Booléen) dans la source à un nombre ou à une chaîne de la cible. -
Modifiez la transformation
ApplyMapping
pour supprimer la colonne Boolean (Booléen) de la source.
-
-
Si votre tâche écrit sur une table Oracle, vous devrez peut-être ajuster la longueur des noms des objets Oracle. Dans certaines versions d'Oracle, la longueur maximale d'un identifiant est limitée à 30 octets ou 128 octets. Cette limite affecte les noms de tables et les noms de colonnes des magasins de données cibles Oracle.
Vous pouvez éviter cette erreur en procédant comme suit :
-
Nommez les tables cibles Oracle en respectant la dans la limite de votre version.
-
Les noms de colonnes par défaut sont générés à partir des noms de champs dans les données. Dans les situations où les noms des colonnes excèdent la limite, utilisez les transformations
ApplyMapping
ouRenameField
pour modifier le nom de la colonne afin de respecter de la limite.
-
Erreur : Amazon S3 : l'opération n'est pas valide pour la classe de stockage de l'objet
Si cette erreur est AWS Glue renvoyée, votre AWS Glue tâche a peut-être consisté à lire des données à partir de tables comportant des partitions entre les différents niveaux de classe de stockage Amazon S3.
-
En utilisant des exclusions de classes de stockage, vous pouvez vous assurer que vos AWS Glue tâches fonctionneront sur des tables comportant des partitions entre ces niveaux de classe de stockage. Sans exclusion, les tâches qui lisent des données à partir de ces niveaux échouent avec l'erreur suivante :
AmazonS3Exception: The operation is not valid for the object's storage class
.Pour de plus amples informations, veuillez consulter Exclusion des classes de stockage Amazon S3.
Erreur : Délai Amazon S3
S'il AWS Glue renvoie une erreur d'expiration du délai de connexion, cela peut être dû au fait qu'il tente d'accéder à un compartiment Amazon S3 dans une autre AWS région.
-
Un point de VPC terminaison Amazon S3 peut uniquement acheminer le trafic vers des compartiments au sein d'une AWS région. Si vous devez vous connecter à des buckets dans d'autres régions, une solution possible consiste à utiliser une NAT passerelle. Pour plus d'informations, consultez la section NATPasserelles.
Erreur : Accès à Amazon S3 refusé
Si AWS Glue un message d'erreur de refus d'accès est renvoyé à un compartiment ou à un objet Amazon S3, cela peut être dû au fait que le IAM rôle fourni ne dispose pas d'une politique autorisant l'accès à votre magasin de données.
-
Une ETL tâche doit avoir accès à un magasin de données Amazon S3 utilisé comme source ou cible. Un crawler doit avoir accès à un magasin de données Amazon S3 qu'il analyse. Pour de plus amples informations, veuillez consulter Étape 2 : créer un rôle IAM pour AWS Glue.
Erreur : L'identifiant de la clé d'accès Amazon S3 n'existe pas
Si une erreur AWS Glue renvoie une clé d'accès ID n'existe pas lors de l'exécution d'une tâche, cela peut être dû à l'une des raisons suivantes :
-
Une ETL tâche utilise un IAM rôle pour accéder aux banques de données. Vérifiez que le IAM rôle de votre tâche n'a pas été supprimé avant le début de la tâche.
-
Un IAM rôle contient des autorisations pour accéder à vos magasins de données. Vérifiez que toute politique Amazon S3 jointe
s3:ListBucket
est correcte.
Erreur : l'exécution du Job échoue lors de l'accès à Amazon S3 avec un s3a://
URI
Si une tâche renvoie une erreur telle que Failed to parse XML document with handler class, cela peut être dû à un échec de la tentative de répertorier des centaines de fichiers à l'aide d'un. s3a://
URI Accédez à votre banque de données à l'aide s3://
URI d'un Le suivi de l'exception suivant met en évidence les erreurs à rechercher :
1. com.amazonaws.SdkClientException: Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler 2. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream(XmlResponsesSaxParser.java:161) 3. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse(XmlResponsesSaxParser.java:317) 4. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:70) 5. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:59) 6. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:62) 7. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:31) 8. at com.amazonaws.http.response.AwsResponseHandlerAdapter.handle(AwsResponseHandlerAdapter.java:70) 9. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleResponse(AmazonHttpClient.java:1554) 10. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1272) 11. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056) 12. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743) 13. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) 14. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699) 15. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667) 16. at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) 17. at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513) 18. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325) 19. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272) 20. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4266) 21. at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:834) 22. at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:971) 23. at org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnnecessaryFakeDirectories(S3AFileSystem.java:1155) 24. at org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite(S3AFileSystem.java:1144) 25. at org.apache.hadoop.fs.s3a.S3AOutputStream.close(S3AOutputStream.java:142) 26. at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74) 27. at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108) 28. at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:467) 29. at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117) 30. at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:112) 31. at org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close(ParquetOutputWriter.scala:44) 32. at org.apache.spark.sql.execution.datasources.FileFormatWriter$SingleDirectoryWriteTask.releaseResources(FileFormatWriter.scala:252) 33. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:191) 34. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:188) 35. at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1341) 36. at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:193) 37. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129) 38. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128) 39. at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87) 40. at org.apache.spark.scheduler.Task.run(Task.scala:99) 41. at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282) 42. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 43. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 44. at java.lang.Thread.run(Thread.java:748)
Erreur : Le jeton de service Amazon S3 a expiré
Lors du transfert de données vers et depuis Amazon Redshift, des informations d'identification Amazon S3 temporaires qui expirent au bout d'une heure sont utilisées. Si vous avez une tâche de longue durée, elle peut échouer. Pour plus d'informations sur la façon de configurer vos tâches de longue durée pour déplacer des données vers et à partir d'Amazon Redshift, veuillez consulter aws-glue-programming-etl-connect-redshift-home.
Erreur : aucune interface privée DNS pour le réseau n'a été trouvée
Si une tâche échoue ou si l'allocation d'un point de terminaison échoue, cela peut être dû à un problème de configuration réseau.
-
Si vous utilisez l'Amazon fourniDNS, la valeur de
enableDnsHostnames
doit être définie sur true. Pour plus d'informations, consultez DNS.
Erreur : Échec de l'allocation du point de terminaison de développement
Si le provisionnement d'un point de terminaison de développement AWS Glue échoue, cela peut être dû à un problème de configuration réseau.
-
Lorsque vous définissez un point de terminaison de développementVPC, le sous-réseau et les groupes de sécurité sont validés pour confirmer qu'ils répondent à certaines exigences.
-
Si vous avez fourni la clé SSH publique facultative, vérifiez qu'il s'agit d'une clé SSH publique valide.
-
Vérifiez dans la VPC console que vous utilisez VPC un ensemble d'DHCPoptions valide. Pour plus d'informations, consultez la section ensembles d'DHCPoptions.
-
Si le cluster reste dans PROVISIONING cet état, contactez AWS Support.
Erreur : serveur Notebook CREATE _ FAILED
Si la création du serveur bloc-notes pour un point de terminaison de développement AWS Glue échoue, cela peut être dû à l'un des problèmes suivants :
-
AWS Glue transmet un IAM rôle à Amazon EC2 lors de la configuration du serveur de blocs-notes. Le IAM rôle doit entretenir une relation de confiance avec AmazonEC2.
-
Le IAM rôle doit avoir un profil d'instance du même nom. Lorsque vous créez le rôle pour Amazon EC2 avec la IAM console, le profil d'instance portant le même nom est automatiquement créé. Recherchez un message d'erreur dans le journal concernant un nom de profil d'instance
iamInstanceProfile.name
non valide. Pour plus d'informations, consultez la section Utilisation de profils d'instance. -
Vérifiez que votre rôle est autorisé à accéder aux compartiments
aws-glue*
dans la stratégie que vous transmettez pour créer le serveur de bloc-notes.
Erreur : Échec du démarrage du bloc-notes local
Si votre bloc-notes local ne démarre pas et renvoie des messages d'erreur indiquant qu'un répertoire ou dossier est introuvable, cela peut être dû à l'un des problèmes suivants :
-
Si vous travaillez sous Microsoft Windows, assurez-vous que la variable d'environnement
JAVA_HOME
pointe vers le répertoire Java correct. Il est possible de mettre à jour Java sans mettre à jour cette variable, et si celle-ci pointe vers un dossier qui n'existe plus, les blocs-notes Jupyter échouent à démarrer.
Erreur : Échec de l'exécution du crawler
Si vous AWS Glue ne parvenez pas à exécuter un robot d'exploration pour cataloguer vos données, cela peut être dû à l'une des raisons suivantes. Commencez par vérifier si une erreur figure dans la liste des crawlers de la console AWS Glue . Vérifiez s'il y a une icône de point d'exclamation en regard du nom du crawler et passez la souris sur l'icône pour affichez les messages associés.
-
Consultez les journaux du robot d'exploration exécuté dans CloudWatch Logs under
/aws-glue/crawlers
.
Erreur : les partitions n'ont pas été mises à jour
Si vos partitions n'ont pas été mises à jour dans le catalogue de données lorsque vous avez exécuté une ETL tâche, ces instructions de journal provenant de la DataSink
classe figurant dans les CloudWatch journaux peuvent être utiles :
-
«
Attempting to fast-forward updates to the Catalog - nameSpace:
» — Indique la base de données, la table et catalogId les tables que cette tâche tente de modifier. Si cette instruction n'est pas ici, vérifiez sienableUpdateCatalog
a la valeur true et qu'elle est correctement passée en tant que paramètregetSink()
ou dansadditional_options
. -
«
Schema change policy behavior:
» – Affiche la valeur du schémaupdateBehavior
que vous avez transmise. -
«
Schemas qualify (schema compare):
» – Sera vrai ou faux. -
«
Schemas qualify (case-insensitive compare):
» – Sera vrai ou faux. -
Si les deux valeurs sont fausses et
updateBehavior
que votre valeur n'est pas définie surUPDATE_IN_DATABASE
, votre DynamicFrame schéma doit être identique ou contenir un sous-ensemble des colonnes du schéma de table du catalogue de données.
Pour en savoir plus sur la mise à jour des partitions, consultez Mise à jour du schéma et ajout de nouvelles partitions dans le catalogue de données à l'aide de tâches AWS Glue ETL.
Erreur : la mise à jour du signet de tâche a échoué en raison d'une incompatibilité de version
Vous essayez peut-être de paramétrer des AWS Glue tâches pour appliquer la même transformation/logique à différents ensembles de données dans Amazon S3. Vous voulez suivre les fichiers traités sur les emplacements fournis. Lorsque vous exécutez la même tâche sur le même compartiment source et que vous écrivez simultanément sur la même destination ou sur des destinations différentes (simultanée > 1), la tâche échoue avec cette erreur :
py4j.protocol.Py4JJavaError: An error occurred while callingz:com.amazonaws.services.glue.util.Job.commit.:com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: Continuation update failed due to version mismatch. Expected version 2 but found version 3
Solution : définissez la concurrence sur 1 ou n'exécutez pas la tâche simultanément.
Actuellement, AWS Glue les favoris ne prennent pas en charge les exécutions de tâches simultanées et les validations échoueront.
Erreur : Une tâche retraite des données lorsque les signets de tâche sont activés
Dans certains cas, vous avez activé les signets de AWS Glue tâches, mais votre ETL tâche consiste à retraiter des données déjà traitées lors d'une exécution précédente. Vérifiez si l'origine de l'erreur est l'une des causes suivantes :
Simultanéité max.
Le fait de définir un nombre maximal d'exécutions simultanées pour la tâche supérieur à la valeur par défaut de 1 peut interférer avec les signets des tâches. Cela peut se produire lorsque les signets des tâches vérifient l'heure de dernière modification des objets afin de déterminer quels objets doivent être retraités. Pour plus d'informations, consultez la discussion sur la simultanéité maximale dans Configuration des propriétés des tâches pour les tâches Spark dans AWS Glue.
Objet de tâche manquant
Assurez-vous que votre script d'exécution de tâche se termine par les éléments suivants :
job.commit()
Lorsque vous incluez cet objet, AWS Glue enregistre l'horodatage et le chemin de la tâche exécutée. Si vous réexécutez la tâche avec le même chemin, seuls AWS Glue les nouveaux fichiers seront traités. Si vous n'incluez pas cet objet et si les signets de tâche sont activés, la tâche retraite les fichiers déjà traités en même temps que les nouveaux fichiers et crée une redondance dans le magasin de données cible de la tâche.
Paramètre de contexte de transformation manquant
Le contexte de transformation est un paramètre facultatif dans la classe GlueContext
, mais les signets de tâche ne fonctionnent pas si vous ne l'incluez pas. Pour résoudre cette erreur, ajoutez le paramètre de contexte de transformation lorsque vous créez le DynamicFrame, comme indiqué ci-dessous :
sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF")
Source d'entrée
Si vous utilisez une base de données relationnelle (une JDBC connexion) comme source d'entrée, les signets de tâches ne fonctionnent que si les clés primaires de la table sont dans un ordre séquentiel. Les signets de tâche fonctionnent pour les nouvelles lignes, mais pas pour les lignes mises à jour. En effet, les signets de tâche recherchent les clés primaires, qui existent déjà. Cela ne s'applique pas si la source des entrées est Amazon Simple Storage Service (Amazon S3).
Heure de la dernière modification
Pour les sources d'entrée Amazon S3, les signets de tâche vérifient l'heure de la dernière modification des objets, au lieu des noms de fichier, afin de contrôler quels objets doivent être retraités. Si les données de la source d'entrée ont été modifiées depuis votre dernière exécution de tâche, les fichiers sont traités de nouveau lorsque vous exécutez la tâche à nouveau.
Erreur : comportement de basculement entre VPCs AWS Glue
Le processus suivant est utilisé pour le basculement des tâches dans les versions AWS Glue 4.0 et antérieures.
Résumé : une AWS Glue connexion est sélectionnée au moment de l'envoi d'une tâche. Si l'exécution de la tâche rencontre des problèmes (manque d'adresses IP, connectivité à la source, problème de routage), l'exécution de la tâche échouera. Si de nouvelles tentatives sont configurées, je AWS Glue réessaierai avec la même connexion.
-
À chaque tentative d'exécution, AWS Glue vérifie l'état des connexions dans l'ordre indiqué dans la configuration de la tâche, jusqu'à ce qu'il en trouve une utilisable. En cas de défaillance d'une zone de disponibilité (AZ), les connexions provenant de cette zone échoueront à la vérification et seront ignorées.
-
AWS Glue valide la connexion avec ce qui suit :
vérifie la validité de l'VPCidentifiant Amazon et du sous-réseau.
vérifie l'existence d'une NAT passerelle ou d'un point de VPC terminaison Amazon.
vérification que le sous-réseau dispose de plus de zéro adresse IP allouée ;
vérification que la zone de disponibilité est saine.
AWS Glue Impossible de vérifier la connectivité au moment de la soumission de l'exécution de la tâche.
-
Pour les jobs utilisant AmazonVPC, tous les pilotes et exécuteurs seront créés dans la même AZ avec la connexion sélectionnée au moment de la soumission de l'exécution du job.
-
Si de nouvelles tentatives sont configurées, je AWS Glue réessaierai avec la même connexion. En effet, nous ne pouvons pas garantir que les problèmes liés à cette connexion dureront longtemps. Si une zone de disponibilité échoue, les exécutions de tâches existantes (en fonction de l'étape de l'exécution de la tâche) dans cette zone de disponibilité peuvent échouer. Une nouvelle tentative devrait détecter un échec de la zone de disponibilité et choisir une autre zone pour la nouvelle exécution.