

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Fehlerbehebung für AWS Glue
<a name="troubleshooting-glue"></a>

 Wenn Sie bei der Arbeit mit auf Probleme stoßen AWS Glue, lesen Sie die Themen in diesem Abschnitt. 


|  | 
| --- |
|  Informationen zur Fehlerbehebung bei AWS Glue Apache Spark finden Sie unter [Generative KI-Fehlerbehebung für Apache Spark](https://docs.aws.amazon.com/glue/latest/dg/troubleshoot-spark.html). AWS Glue Dort erhalten Sie KI-gestützte Unterstützung bei der Diagnose und Lösung von Spark-Jobproblemen. Transformieren Sie Ihre Apache Spark-Fehlerbehebung mit unserem KI-gestützten Troubleshooting-Agenten, der jetzt alle wichtigen Bereitstellungsmodi unterstützt AWS Glue, darunter Amazon EMR-EC2, Amazon EMR-Serverless und Amazon AI Notebooks. SageMaker Dieser leistungsstarke Agent macht komplexe Debugging-Prozesse überflüssig, indem er Interaktionen in natürlicher Sprache, Workload-Analysen in Echtzeit und intelligente Codeempfehlungen zu einem nahtlosen Erlebnis kombiniert. Einzelheiten zur Implementierung finden Sie unter [Was ist der Apache Spark Troubleshooting Agent for Amazon EMR.](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/spark-troubleshoot.html)  | 

**Topics**
+ [Informationen AWS Glue zur Problembehandlung sammeln](troubleshooting-contact-support.md)
+ [Behebung häufiger Einrichtungsfehler bei Glue](glue-troubleshooting-errors.md)
+ [Crawler-Fehler, wenn der Crawler Lake-Formation-Berechtigungen verwendet](error-crawler-config-lf.md)
+ [Fehlerbehebung AWS Glue bei Ray-Fehlern aus Protokollen](troubleshooting-ray.md)
+ [AWS Glue Machine Learning-Ausnahmen](exceptions-machine-learning.md)
+ [AWS Glue Kontingente](troubleshooting-service-limits.md)

# Informationen AWS Glue zur Problembehandlung sammeln
<a name="troubleshooting-contact-support"></a>

Wenn Sie bei der fehlgeschlagenen Aktion auf Fehler oder unerwartetes Verhalten stoßen AWS Glue und Kontakt aufnehmen müssen AWS Support, sollten Sie zunächst Informationen zu Namen und Protokollen sammeln IDs, die mit der fehlgeschlagenen Aktion verknüpft sind. Wenn Sie diese Informationen zur Verfügung haben Support , können wir Ihnen helfen, die aufgetretenen Probleme zu lösen. 

Sammeln Sie zusammen mit Ihrer *Konto-ID* die folgenden Informationen für die Fehlerarten:

**Wenn ein Crawler fehlschlägt, sammeln Sie die folgenden Informationen:**  
+ Crawler-Name

  Protokolle von Crawler-Läufen befinden sich in CloudWatch Protokollen unter`/aws-glue/crawlers`.

**Wenn eine Testverbindung fehlschlägt, sammeln Sie die folgenden Informationen:**  
+ Verbindungsname
+ Verbindungs-ID
+ JDBC-Verbindungsstring in der Form `jdbc:protocol://host:port/database-name`.

  Protokolle von Testverbindungen befinden sich in den CloudWatch Protokollen unter` /aws-glue/testconnection`. 

**Wenn ein Auftrag fehlschlägt, sammeln Sie die folgenden Informationen:**  
+ Job name (Auftragsname) 
+ Auftragsausführungs-ID in der Form `jr_xxxxx`.

  Protokolle von Auftragsausführungen befinden sich in CloudWatch Protokollen unter` /aws-glue/jobs`. 

# Behebung häufiger Einrichtungsfehler bei Glue
<a name="glue-troubleshooting-errors"></a>

Wenn Sie in auf Fehler stoßen AWS Glue, verwenden Sie die folgenden Informationen, um die Ursache der Probleme zu finden und sie zu beheben.

**Anmerkung**  
 Das AWS Glue GitHub Repository enthält unter [AWS Glue Häufig gestellte Fragen](https://github.com/aws-samples/aws-glue-samples/blob/master/FAQ_and_How_to.md) zusätzliche Anleitungen zur Fehlerbehebung. 

**Topics**
+ [Fehler: Ressource nicht verfügbar](#error-resource-unavailable)
+ [Fehler: S3-Endpunkt oder NAT-Gateway für SubnetId wurde in VPC nicht gefunden](#error-s3-subnet-vpc-NAT-configuration)
+ [Fehler: Eingehende Regel in der Sicherheitsgruppe erforderlich](#error-inbound-self-reference-rule)
+ [Fehler: Ausgehende Regel in der Sicherheitsgruppe erforderlich](#error-outbound-self-reference-rule)
+ [Fehler: Die Auftragsausführung ist fehlgeschlagen, da der übergebenen Rolle die Rollenübernahme für den AWS Glue Dienst erteilt werden sollte](#error-assume-role-user-policy)
+ [Fehler: Die DescribeVpcEndpoints Aktion ist nicht autorisiert. die VPC-ID kann nicht validiert werden vpc-id](#error-DescribeVpcEndpoints-permission)
+ [Fehler: Die DescribeRouteTables Aktion ist nicht autorisiert. Die Subnetz-ID konnte nicht überprüft werden: Subnetz-ID in VPC-ID: vpc-id](#error-DescribeRouteTables-permission)
+ [Fehler: ec2 konnte nicht aufgerufen werden: DescribeSubnets](#error-DescribeSubnets-permission)
+ [Fehler: ec2 konnte nicht aufgerufen werden: DescribeSecurityGroups](#error-DescribeSecurityGroups-permission)
+ [Fehler: Subnetz für AZ wurde nicht gefunden](#error-az-not-available)
+ [Fehler: Ausnahme der Auftragsausführung beim Schreiben in ein JDBC-Ziel](#error-job-run-jdbc-target)
+ [Fehler: Amazon S3: Der Vorgang ist für die Speicherklasse des Objekts nicht gültig.](#error-s3-operation-not-valid)
+ [Fehler: Amazon S3 Zeitüberschreitung](#error-s3-timeout)
+ [Fehler: Amazon-S3-Zugriff verweigert](#error-s3-access-denied)
+ [Fehler: Amazon-S3-Zugriffsschlüssel-ID ist nicht vorhanden](#error-s3-accesskeyid-not-found)
+ [Fehler: Auftragsausführung schlägt fehl, wenn auf Amazon S3 mit einem `s3a://`-URI zugegriffen wird](#error-s3a-uri-directory-listing)
+ [Fehler: Amazon-S3-Servicetoken abgelaufen](#error-s3-service-token-expired)
+ [Fehler: Keine private DNS für die Netzwerkschnittstelle gefunden](#error-no-private-DNS)
+ [Fehler: Bereitstellung des Entwicklungsendpunkts fehlgeschlagen](#error-development-endpoint-failed)
+ [Fehler: Notebook-Server-ERSTELLUNG\$1FEHLGESCHLAGEN](#error-notebook-server-ec2-instance-profile)
+ [Fehler: Lokales Notebook kann nicht gestartet werden](#error-local-notebook-fails-to-start)
+ [Fehler: Ausführen von Crawler fehlgeschlagen](#error-running-crawler-failed)
+ [Fehler: Partitionen wurden nicht aktualisiert](#error-update-from-job-partitions)
+ [Fehler: Aktualisierung des Auftragslesezeichens aufgrund einer Versionsabweichung fehlgeschlagen](#error-job-bookmarks-limitation)
+ [Fehler: Ein Auftrag verarbeitet Daten erneut, wenn Auftragslesezeichen aktiviert sind](#error-job-bookmarks-reprocess-data)
+ [Fehler: Failover-Verhalten zwischen VPCs AWS Glue](#vpc-failover-behavior-error-10)

## Fehler: Ressource nicht verfügbar
<a name="error-resource-unavailable"></a>

Wenn AWS Glue die Meldung „Ressource nicht verfügbar“ angezeigt wird, können Sie sich Fehlermeldungen oder Protokolle ansehen, um mehr über das Problem zu erfahren. Die folgenden Aufgaben beschreiben allgemeine Methoden zur Fehlerbehebung.
+ Überprüfen Sie bei allen von Ihnen genutzten Verbindungen und Entwicklungsendpunkten, ob Ihr Cluster über genügend Elastic Network-Schnittstellen verfügt.

## Fehler: S3-Endpunkt oder NAT-Gateway für SubnetId wurde in VPC nicht gefunden
<a name="error-s3-subnet-vpc-NAT-configuration"></a>

Prüfen Sie die Subnetz- und VPC-ID in der Nachricht, die Ihnen dabei helfen, das Problem zu diagnostizieren.
+ Stellen Sie sicher, dass Sie einen Amazon-S3-VPC-Endpunkt einrichtet haben, der für AWS Glue erforderlich ist. Überprüfen Sie außerdem Ihr NAT-Gateway, wenn das Teil Ihrer Konfiguration ist. Weitere Informationen finden Sie unter [Amazon-VPC-Endpunkte für Amazon S3](vpc-endpoints-s3.md).

## Fehler: Eingehende Regel in der Sicherheitsgruppe erforderlich
<a name="error-inbound-self-reference-rule"></a>

Mindestens eine Sicherheitsgruppe muss alle Eingangs-Ports öffnen. Um Datenverkehr zu begrenzen, kann die Quell-Sicherheitsgruppe in Ihrer eingehenden Regel auf dieselbe Sicherheitsgruppe beschränkt werden.
+ Prüfen Sie bei allen genutzten Verbindungen Ihre Sicherheitsgruppe auf eine eingehende Regel, die selbst verweisend ist. Weitere Informationen finden Sie unter [Netzwerkzugriff auf Datenspeicher einrichten](start-connecting.md).
+ Wenn Sie einen Entwicklungsendpunkt verwenden, überprüfen Sie Ihre Sicherheitsgruppe auf eine eingehende Regel, die selbst verweisend ist. Weitere Informationen finden Sie unter [Netzwerkzugriff auf Datenspeicher einrichten](start-connecting.md).

## Fehler: Ausgehende Regel in der Sicherheitsgruppe erforderlich
<a name="error-outbound-self-reference-rule"></a>

Mindestens eine Sicherheitsgruppe muss alle Ausgangs-Ports öffnen. Um Datenverkehr zu begrenzen, kann die Quell-Sicherheitsgruppe in Ihrer ausgehenden Regel auf dieselbe Sicherheitsgruppe beschränkt werden.
+ Prüfen Sie bei allen genutzten Verbindungen Ihre Sicherheitsgruppe auf eine ausgehende Regel, die selbst verweisend ist. Weitere Informationen finden Sie unter [Netzwerkzugriff auf Datenspeicher einrichten](start-connecting.md).
+ Wenn Sie einen Entwicklungsendpunkt verwenden, überprüfen Sie Ihre Sicherheitsgruppe auf eine ausgehende Regel, die selbst verweisend ist. Weitere Informationen finden Sie unter [Netzwerkzugriff auf Datenspeicher einrichten](start-connecting.md).

## Fehler: Die Auftragsausführung ist fehlgeschlagen, da der übergebenen Rolle die Rollenübernahme für den AWS Glue Dienst erteilt werden sollte
<a name="error-assume-role-user-policy"></a>

Der Benutzer, der einen Auftrag definiert, muss über Berechtigungen für `iam:PassRole` für AWS Glue verfügen.
+ Wenn ein Benutzer einen AWS Glue Job erstellt, vergewissern Sie sich, dass die Rolle des Benutzers eine Richtlinie enthält, die `iam:PassRole` für enthält AWS Glue. Weitere Informationen finden Sie unter [Schritt 3: Fügen Sie eine Richtlinie an Benutzer an, die auf AWS Glue zugreifen](attach-policy-iam-user.md).

## Fehler: Die DescribeVpcEndpoints Aktion ist nicht autorisiert. die VPC-ID kann nicht validiert werden vpc-id
<a name="error-DescribeVpcEndpoints-permission"></a>
+ Überprüfen Sie die Richtlinie, an die Sie die Genehmigung übergeben haben. AWS Glue `ec2:DescribeVpcEndpoints`

## Fehler: Die DescribeRouteTables Aktion ist nicht autorisiert. Die Subnetz-ID konnte nicht überprüft werden: Subnetz-ID in VPC-ID: vpc-id
<a name="error-DescribeRouteTables-permission"></a>
+ Suchen Sie in der AWS Glue Richtlinie`ec2:DescribeRouteTables`, an die Sie die Genehmigung übergeben haben.

## Fehler: ec2 konnte nicht aufgerufen werden: DescribeSubnets
<a name="error-DescribeSubnets-permission"></a>
+ Überprüfen Sie die Richtlinie, an die Sie AWS Glue die `ec2:DescribeSubnets` Genehmigung übergeben haben.

## Fehler: ec2 konnte nicht aufgerufen werden: DescribeSecurityGroups
<a name="error-DescribeSecurityGroups-permission"></a>
+ Überprüfen Sie die Richtlinie, an die Sie AWS Glue die ` ec2:DescribeSecurityGroups` Genehmigung übergeben haben.

## Fehler: Subnetz für AZ wurde nicht gefunden
<a name="error-az-not-available"></a>
+ Die Availability Zone ist möglicherweise nicht verfügbar für AWS Glue. Erstellen und verwenden Sie ein neues Subnetz in einer anderen Availability Zone als der in der Nachricht angegebenen.

## Fehler: Ausnahme der Auftragsausführung beim Schreiben in ein JDBC-Ziel
<a name="error-job-run-jdbc-target"></a>

Wenn Sie einen Auftrag ausführen, der in ein JDBC-Ziel schreibt, können bei diesem in den folgenden Szenarien Fehler auftreten:
+ Wenn Ihr Auftrag in eine Microsoft SQL Server-Tabelle schreibt und die Tabelle über Spalten verfügt, die als `Boolean`-Typ definiert sind, dann muss die Tabelle in der SQL Server-Datenbank vordefiniert sein. Wenn Sie den Job auf der AWS Glue Konsole mithilfe eines SQL Server-Ziels mit der Option **Tabellen in Ihrem Datenziel erstellen definieren, ordnen Sie einer Zielspalte** mit Datentyp keine Quellspalten zu`Boolean`. Es kann ein Fehler auftreten, wenn der Auftrag ausgeführt wird.

  Sie können den Fehler vermeiden, indem Sie folgende Schritte ausführen:
  + Wählen Sie eine bestehende Tabelle mit der **boolesche** Spalte.
  + Bearbeiten Sie die `ApplyMapping`-Transformierung und ordnen Sie die **boolesche** Spalte in der Quelle einer Zahl oder Zeichenfolge im Ziel zu.
  + Bearbeiten Sie die `ApplyMapping`-Transformation, um die **boolesche** Spalte aus der Quelle zu entfernen.
+ Wenn Ihr Auftrag in eine Oracle-Tabelle schreibt, müssen Sie möglicherweise die Länge der Namen von Oracle-Objekten anpassen. In einigen Versionen von Oracle ist die maximale Länge der ID auf 30 Bytes oder 128 Bytes begrenzt. Diese Größenbeschränkung wirkt sich auf die Tabellennamen und Spaltennamen von Oracle-Zieldatenspeichern aus.

  Sie können den Fehler vermeiden, indem Sie folgende Schritte ausführen:
  + Benennen Sie Oracle-Zieltabellen innerhalb des Limits für Ihre Version.
  + Die Standard-Spaltennamen werden aus den Feldnamen in die Daten generiert. Um mit den Fällen umzugehen, in denen die Spaltennamen länger sind als das Limit, verwenden Sie die `ApplyMapping`- oder `RenameField`-Transformation, um den Namen der Spalte so zu ändern, dass er sich innerhalb des Limits befindet.

## Fehler: Amazon S3: Der Vorgang ist für die Speicherklasse des Objekts nicht gültig.
<a name="error-s3-operation-not-valid"></a>

Wenn dieser Fehler AWS Glue zurückgegeben wird, hat Ihr AWS Glue Job möglicherweise Daten aus Tabellen gelesen, die Partitionen auf verschiedenen Amazon S3 S3-Speicherklassenstufen haben.
+ Durch die Verwendung von Speicherklassenausschlüssen können Sie sicherstellen, dass Ihre AWS Glue Jobs auf Tabellen funktionieren, die über Partitionen in diesen Speicherklassenstufen verfügen. Ohne Ausnahmen schlagen Aufträge, die Daten aus diesen Ebenen lesen, mit dem folgenden Fehler fehl: `AmazonS3Exception: The operation is not valid for the object's storage class`.

  Weitere Informationen finden Sie unter [Ausschließen von Amazon-S3-Speicherklassen](aws-glue-programming-etl-storage-classes.md).

## Fehler: Amazon S3 Zeitüberschreitung
<a name="error-s3-timeout"></a>

Wenn ein Verbindungs-Timeout-Fehler AWS Glue zurückgegeben wird, kann dies daran liegen, dass versucht wird, auf einen Amazon S3 S3-Bucket in einer anderen AWS Region zuzugreifen. 
+ Ein Amazon S3 S3-VPC-Endpunkt kann nur Traffic an Buckets innerhalb einer AWS Region weiterleiten. Wenn Sie eine Verbindung mit Buckets in anderen Regionen herstellen müssen, besteht eine mögliche Abhilfe darin, ein NAT-Gateway zu verwenden. Weitere Informationen finden Sie unter [NAT-Gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

## Fehler: Amazon-S3-Zugriff verweigert
<a name="error-s3-access-denied"></a>

Wenn der Fehler „Zugriff verweigert“ auf einen Amazon S3 S3-Bucket oder ein Amazon S3-Objekt AWS Glue zurückgegeben wird, kann dies daran liegen, dass die angegebene IAM-Rolle keine Richtlinie mit Berechtigungen für Ihren Datenspeicher hat.
+ Ein ETL-Auftrag benötigt Zugriff auf einen Amazon-S3-Datenspeicher, der als Quelle oder Ziel verwendet wird. Ein Crawler benötigt Zugriff auf einen Amazon-S3-Datenspeicher, den er durchsucht. Weitere Informationen finden Sie unter [Schritt 2: Erstellen einer IAM-Rolle für AWS Glue](create-an-iam-role.md).

## Fehler: Amazon-S3-Zugriffsschlüssel-ID ist nicht vorhanden
<a name="error-s3-accesskeyid-not-found"></a>

Wenn bei der Ausführung eines Jobs der Fehler „Zugriffsschlüssel ID existiert nicht“ AWS Glue zurückgegeben wird, kann dies einen der folgenden Gründe haben:
+ Ein ETL-Auftrag verwendet eine IAM-Rolle für den Zugriff auf Datenspeicher, vergewissern Sie sich, dass die IAM-Rolle für Ihren Auftrag nicht gelöscht wurde, bevor der Auftrag gestartet wurde.
+ Eine IAM;-Rolle enthält Berechtigungen für den Zugriff auf Ihre Datenspeicher, vergewissern Sie sich, dass alle angefügten Amazon-S3-Richtlinien mit `s3:ListBucket` richtig sind.

## Fehler: Auftragsausführung schlägt fehl, wenn auf Amazon S3 mit einem `s3a://`-URI zugegriffen wird
<a name="error-s3a-uri-directory-listing"></a>

Gibt eine Auftragsausführung einen Fehler wie *Fehler beim Analysieren des XML-Dokuments mit der Handler-Klasse*, zurück, kann dies daran liegen, das versucht wurde, Hunderte Dateien mit dem ` s3a://`-URI aufzulisten. Greifen Sie stattdessen mit einem `s3://`-URI auf Ihren Datenspeicher zu. Im folgenden Ausnahme-Trace ist der zu suchende Fehler gekennzeichnet:

```
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)
```

## Fehler: Amazon-S3-Servicetoken abgelaufen
<a name="error-s3-service-token-expired"></a>

Beim Verschieben von Daten von und nach Amazon Redshift werden temporäre Amazon-S3-Anmeldeinformationen, die nach 1 Stunde ablaufen, verwendet. Wenn Sie einen lang laufenden Auftrag haben, kann er fehlschlagen. Informationen zum Einrichten von lang laufenden Aufträgen zum Verschieben von Daten von und zu Amazon Redshift finden Sie unter [aws-glue-programming-etl-connect-redshift-home](aws-glue-programming-etl-connect-redshift-home).

## Fehler: Keine private DNS für die Netzwerkschnittstelle gefunden
<a name="error-no-private-DNS"></a>

Wenn ein Auftrag fehlschlägt oder ein Entwicklungsendpunkt nicht bereitgestellt werden kann, ist der Grund hierfür möglicherweise ein Problem in der Netzwerkeinrichtung.
+ Wenn Sie das von Amazon bereitgestellte DNS verwenden, muss der Wert `enableDnsHostnames` auf "true" gesetzt sein. Weitere Informationen finden Sie unter [DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 

## Fehler: Bereitstellung des Entwicklungsendpunkts fehlgeschlagen
<a name="error-development-endpoint-failed"></a>

Wenn ein Entwicklungsendpunkt AWS Glue nicht erfolgreich bereitgestellt werden kann, kann dies an einem Problem in der Netzwerkkonfiguration liegen.
+ Beim Definieren eines Entwicklungsendpunkts werden die VPC, das Subnetz und die Sicherheitsgruppen validiert, um zu bestätigen, dass sie bestimmte Anforderungen erfüllen.
+ Wenn Sie den optionalen öffentlichen SSH-Schlüssel bereitgestellt haben, prüfen Sie, ob es sich um einen gültigen öffentlichen SSH-Schlüssel handelt.
+ Prüfen Sie in der VPC-Konsole, dass Ihre VPC ein gültiges **DHCP-Optionsset** verwendet. Weitere Informationen finden Sie unter [DHCP-Optionssets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
+ Wenn der Cluster im Status PROVISIONING bleibt, wenden Sie sich an den AWS Support.

## Fehler: Notebook-Server-ERSTELLUNG\$1FEHLGESCHLAGEN
<a name="error-notebook-server-ec2-instance-profile"></a>

Wenn AWS Glue der Notebook-Server für einen Entwicklungsendpunkt nicht erstellt werden kann, kann dies an einem der folgenden Probleme liegen: 
+ AWS Glue übergibt eine IAM-Rolle an Amazon EC2, wenn es den Notebook-Server einrichtet. Die IAM-Rolle muss über eine Vertrauensstellung mit Amazon EC2 verfügen.
+ Die IAM-Rolle muss ein Instance-Profil mit demselben Namen haben. Wenn Sie die Rolle mit der IAM-Konsole für Amazon EC2 erstellen, wird das Instance-Profil mit demselben Namen automatisch erstellt. Prüfen Sie auf Fehler im Protokoll bezüglich einem ungültigen Instance-Profilnamen ` iamInstanceProfile.name`. Weitere Informationen finden Sie unter [Verwenden von Instance-Profilen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html). 
+ Stellen Sie sicher, dass Ihre Rolle über die Berechtigung für den Zugriff auf `aws-glue*`-Buckets in der Richtlinie verfügt, die Sie zum Erstellen des Notebook-Servers weiterleiten. 

## Fehler: Lokales Notebook kann nicht gestartet werden
<a name="error-local-notebook-fails-to-start"></a>

Wenn Ihr lokales Notebook nicht gestartet werden kann und Fehler meldet, dass ein Verzeichnis oder Ordner nicht gefunden werden kann, kann hierfür einer der folgenden Probleme vorliegen: 
+ Wenn Sie Microsoft Windows ausführen, stellen Sie sicher, dass die `JAVA_HOME`-Umgebungsvariable auf das korrekte Java-Verzeichnis zeigt. Es ist möglich, Java zu aktualisieren, ohne diese Variable zu aktualisieren. Wenn diese auf einen Ordner verweist, der nicht mehr vorhanden ist, können Jupyter Notebooks nicht gestartet werden.

## Fehler: Ausführen von Crawler fehlgeschlagen
<a name="error-running-crawler-failed"></a>

Wenn AWS Glue ein Crawler zum Katalogisieren Ihrer Daten nicht erfolgreich ausgeführt werden kann, kann das an einem der folgenden Gründe liegen. Prüfen Sie zunächst, ob ein Fehler in der Crawlers-Liste der AWS Glue -Konsole aufgeführt ist. Überprüfen Sie, ob neben dem Crawlernamen ein Ausrufungssymbol vorhanden ist, und fahren Sie mit der Maus über das Symbol, um alle zugehörigen Nachrichten anzuzeigen. 
+ Suchen Sie in den Protokollen unter Protokolle nach, ob der Crawler ausgeführt wurde CloudWatch . `/aws-glue/crawlers`

## Fehler: Partitionen wurden nicht aktualisiert
<a name="error-update-from-job-partitions"></a>

Falls Ihre Partitionen im Datenkatalog nicht aktualisiert wurden, als Sie einen ETL-Job ausgeführt haben, können diese Protokollanweisungen der `DataSink` Klasse in den CloudWatch Logs hilfreich sein:
+ "`Attempting to fast-forward updates to the Catalog - nameSpace:`": gibt an, welche Datenbank, Tabelle und catalogID von diesem Auftrag geändert werden sollen. Wenn diese Anweisung nicht vorhanden ist, prüfen Sie, ob `enableUpdateCatalog` auf "true" gesetzt ist und ordnungsgemäß als `getSink()`-Parameter oder in ` additional_options` übergeben wird.
+ "`Schema change policy behavior:`": gibt an, welchen ` updateBehavior`-Schemawert Sie übergeben haben.
+ "`Schemas qualify (schema compare):`": wird den Wert "true" oder "false" annehmen.
+ "`Schemas qualify (case-insensitive compare):`": wird den Wert "true" oder "false" annehmen.
+ Wenn beide falsch sind und Sie `updateBehavior` nicht auf gesetzt sind` UPDATE_IN_DATABASE`, muss Ihr DynamicFrame Schema identisch sein oder eine Teilmenge der Spalten enthalten, die im Tabellenschema des Datenkatalogs angezeigt werden. 

Weitere Informationen zum Aktualisieren von Partitionen finden Sie unter [Aktualisieren des Schemas und Hinzufügen neuer Partitionen im Datenkatalog mit AWS Glue-ETL-Aufträgen](update-from-job.md).

## Fehler: Aktualisierung des Auftragslesezeichens aufgrund einer Versionsabweichung fehlgeschlagen
<a name="error-job-bookmarks-limitation"></a>

Möglicherweise versuchen Sie, AWS Glue Jobs so zu parametrieren, dass sie dieselben transformation/logic auf verschiedene Datensätze in Amazon S3 anwenden. Sie möchten verarbeitete Dateien an den bereitgestellten Speicherorten verfolgen. Wenn Sie denselben Job auf demselben Quell-Bucket ausführen und gleichzeitig in das same/different Ziel schreiben (Parallelität >1), schlägt der Job mit dem folgenden Fehler fehl:

```
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
```

Lösung: Setzen Sie die Gleichzeitigkeit auf 1 oder lassen Sie den Auftrag nicht gleichzeitig laufen.

Derzeit unterstützen AWS Glue Bookmarks keine gleichzeitigen Jobausführungen und Commits schlagen fehl.

## Fehler: Ein Auftrag verarbeitet Daten erneut, wenn Auftragslesezeichen aktiviert sind
<a name="error-job-bookmarks-reprocess-data"></a>

Es kann vorkommen, dass Sie AWS Glue Job-Lesezeichen aktiviert haben, Ihr ETL-Job jedoch Daten erneut verarbeitet, die bereits in einem früheren Lauf verarbeitet wurden. Überprüfen Sie, ob diese häufigen Ursachen für diesen Fehler vorliegen: 

**Maximale Parallelität**  
Wenn die maximale Anzahl gleichzeitiger Ausführungen für den Auftrag über dem Standardwert 1 liegt, kann dies zu Störungen bei den Auftragslesezeichen führen. Dies kann auftreten, wenn Auftragslesezeichen den Zeitpunkt der letzten Änderung der Objekte prüfen, um zu ermitteln, welche Objekte erneut verarbeitet werden müssen. Weitere Informationen finden Sie in der Beschreibung der maximalen Parallelität unter [Konfiguration der Auftragseigenschaften für Spark-Jobs in AWS Glue](add-job.md).

**Fehlendes Auftragsobjekt**  
Stellen Sie sicher, dass Ihr Auftragslaufskript mit dem folgenden Commit endet:

```
job.commit()
```

Wenn Sie dieses Objekt einbeziehen, AWS Glue zeichnet es den Zeitstempel und den Pfad der Auftragsausführung auf. Wenn Sie den Job erneut mit demselben Pfad ausführen, AWS Glue werden nur die neuen Dateien verarbeitet. Wenn Sie dieses Objekt nicht einbeziehen und Auftragslesezeichen aktiviert sind, verarbeitet der Auftrag die bereits bearbeiteten Dateien zusammen mit den neuen Dateien erneut. Dies führt zu Redundanz im Zieldatenspeicher des Auftrags.

**Fehlender Parameter Transformationskontext**  
Der Transformationskontext ist ein optionaler Parameter in der Klasse `GlueContext`, aber Auftragslesezeichen funktionieren nicht, wenn Sie ihn nicht einbinden. Um diesen Fehler zu beheben, fügen Sie den Transformationskontext-Parameter hinzu, wenn Sie [den erstellen DynamicFrame](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html#aws-glue-api-crawler-pyspark-extensions-glue-context-create_dynamic_frame_from_catalog), wie im Folgenden dargestellt:

```
sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF") 
```

**Eingabequelle**  
Wenn Sie eine relationale Datenbank (eine JDBC-Verbindung) als Eingabequelle verwenden, funktionieren Auftragslesezeichen nur, wenn die Primärschlüssel der Tabelle in sequentieller Reihenfolge sind. Auftragslesezeichen funktionieren für neue Zeilen, nicht aber für aktualisierte Zeilen. Das liegt daran, dass Auftragslesezeichen nach den Primärschlüsseln suchen, die bereits existieren. Dies gilt nicht, wenn Ihre Eingabequelle Amazon Simple Storage Service (Amazon S3) ist.

**Zeitpunkt der letzten Änderung**  
Für Amazon-S3-Eingabequellen überprüfen Auftragslesezeichen den Zeitpunkt der letzten Änderung der Objekte und nicht die Dateinamen, um zu überprüfen, welche Objekte erneut verarbeitet werden müssen. Wenn Ihre Eingabedaten seit der letzten Auftragsausführung geändert wurden, werden die Dateien bei der erneuten Ausführung des Auftrags erneut verarbeitet. 

## Fehler: Failover-Verhalten zwischen VPCs AWS Glue
<a name="vpc-failover-behavior-error-10"></a>

Der folgende Prozess wird für das Failover für Jobs in AWS Glue 5.1 und früheren Versionen verwendet.

Zusammenfassung: Bei der Übermittlung eines ausgeführten Jobs wird eine AWS Glue Verbindung ausgewählt. Wenn bei der Ausführung des Auftrags Probleme auftreten (fehlende IP-Adressen, Verbindung zur Quelle, Routing-Probleme), schlägt die Auftragsausführung fehl. Wenn Wiederholungsversuche konfiguriert sind, AWS Glue wird es mit derselben Verbindung erneut versucht.

1. Prüft bei jedem Ausführungsversuch den Zustand der Verbindungen in der Reihenfolge, AWS Glue die in der Auftragskonfiguration angegeben ist, bis eine Verbindung gefunden wird, die verwendet werden kann. Bei einem Ausfall der Availability Zone (AZ) ist die Prüfung der Verbindungen aus dieser AZ nicht erfolgreich und die Verbindungen werden übersprungen.

1. AWS Glue validiert die Verbindung mit den folgenden Angaben:
   + prüft, ob eine gültige Amazon-VPC-ID und ein gültiges Subnetz vorhanden sind.
   + prüft, ob ein NAT-Gateway oder ein Amazon-VPC-Endpunkt vorhanden sind.
   + prüft, ob dem Subnetz mehr als 0 zugewiesene IP-Adressen zugewiesen sind.
   + prüft, ob die AZ fehlerfrei ist.

   AWS Glue kann die Konnektivität zum Zeitpunkt der Einreichung der Auftragsausführung nicht überprüfen.

1. Bei Aufträgen, die Amazon VPC verwenden, werden alle Treiber und Ausführer in derselben AZ erstellt, wobei die Verbindung zum Zeitpunkt der Übermittlung der Auftragsausführung ausgewählt wurde.

1. Wenn Wiederholungsversuche konfiguriert sind, AWS Glue wird es mit derselben Verbindung erneut versucht. Dies liegt daran, dass wir nicht garantieren können, dass Probleme mit dieser Verbindung dauerhaft auftreten. Wenn eine AZ ausfällt, können vorhandene Auftragsausführungen (je nach Stadium der Auftragsausführung) in dieser AZ fehlschlagen. Ein erneuter Versuch sollte einen AZ-Fehler erkennen und einen anderen AZ für die neue Ausführung auswählen.

# Crawler-Fehler, wenn der Crawler Lake-Formation-Berechtigungen verwendet
<a name="error-crawler-config-lf"></a>

Verwenden Sie die folgenden Informationen, um verschiedene Probleme bei der Konfiguration des Crawlers mit Lake-Formation-Anmeldeinformationen zu diagnostizieren und zu beheben.

## Fehler: Der S3-Standort: s3://examplepath ist nicht registriert
<a name="error-s3-location"></a>

Damit ein Crawler mit Lake-Formation-Anmeldeinformationen ausgeführt werden kann, müssen Sie zuerst Lake Formation-Berechtigungen einrichten. Um diesen Fehler zu beheben, registrieren Sie bitte den Amazon-S3-Zielstandort bei Lake Formation. Weitere Informationen finden Sie unter [Registrieren eines Amazon-S3-Speicherorts](https://docs.aws.amazon.com/lake-formation/latest/dg/register-location.html).

## Fehler: User/Role ist nicht berechtigt, Folgendes auszuführen: lakeformation: on resource GetDataAccess
<a name="error-role-authorization"></a>

Bitte fügen Sie der Crawler-Rolle die `lakeformation:GetDataAccess`-Berechtigung über die IAM-Konsole oder AWS CLI hinzu. Mit dieser Berechtigung gewährt Lake Formation die Anforderung von temporären Anmeldeinformationen für den Zugriff auf die Daten. Sehen Sie sich die folgende Richtlinie an:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "lakeformation:GetDataAccess"
    ],
    "Resource": "*"
  }
}
```

------

## Fehler: Unzureichende Lake-Formation-Berechtigung(en) für (Datenbankname: exampleDatabase, Tabellenname: exampleTable)
<a name="error-permissions"></a>

Erteilen Sie der Crawlerrolle in der Lake Formation Formation-Konsole ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) Zugriffsberechtigungen (` Create``Describe`,,`Alter`) für die Datenbank, die als Ausgabedatenbank angegeben ist. Sie können auch Berechtigungen für die Tabelle erteilen. Weitere Informationen finden Sie unter [Erteilen von Datenbankberechtigungen mit der benannten Ressourcenmethode](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html).

## Fehler: Unzureichende Lake-Formation-Berechtigung(en) auf s3://examplepath
<a name="error-location-permissions"></a>

1.  **Kontoübergreifendes Crawling** 

   1. Melden Sie sich bei der Lake Formation Formation-Konsole ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) mit dem Konto an, in dem der Amazon S3 S3-Bucket registriert ist (Konto B). Erteilen Sie dem Konto, in dem der Crawler ausgeführt werden soll, die Berechtigungen für den Datenstandort. Dadurch darf der Crawler Daten vom Amazon-S3-Zielstandort lesen. 

   1.  Erteilen Sie in dem Konto, in dem der Crawler erstellt wird (Konto A), der für die Ausführung des Crawlers verwendeten IAM-Rolle die Berechtigungen für den Datenstandort am Amazon-S3-Zielstandort, damit der Crawler die Daten vom Ziel in Lake Formation lesen kann. Weitere Informationen finden Sie unter [Erteilen von Berechtigungen für den Datenstandort (externes Konto)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-external.html).

1. **Crawling im Konto (Crawler und registrierter Amazon-S3-Speicherort befinden sich im selben Konto)** – Erteilen Sie der IAM-Rolle, die für die Ausführung des Crawlers auf dem Amazon-S3-Standort verwendet wird, die Berechtigungen für den Datenstandort, damit der Crawler die Daten aus dem Zielstandort in Lake Formation lesen kann. Weitere Informationen finden Sie unter [Erteilen von Datenspeicherortberechtigungen (im selben Konto)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-local.html).

## Häufig gestellte Fragen zur Crawler-Konfiguration mit Lake-Formation-Anmeldeinformationen
<a name="faq-crawler-config-lf"></a>

1.  **Wie konfiguriere ich einen Crawler für die Ausführung mit Lake-Formation-Anmeldeinformationen mit der AWS -Konsole?** 

   Wählen Sie in der AWS Glue Konsole ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)) bei der Konfiguration des Crawlers die Option **Lake Formation Formation-Anmeldeinformationen für das Crawlen der Amazon S3 S3-Datenquelle verwenden** aus. Geben Sie für kontoübergreifendes Crawling die AWS-Konto ID an, unter der der Amazon S3 S3-Zielstandort bei Lake Formation registriert ist. Das Feld **accountId** (Konto-ID) ist optional für das Crawling im Konto.

1.  **Wie konfiguriere ich einen Crawler so, dass er mit Lake-Formation-Anmeldeinformationen mit AWS CLI ausgeführt wird?** 

   Fügen Sie während des `CreateCrawler`-API-Aufrufs `LakeFormationConfiguration` hinzu:

   ```
   "LakeFormationConfiguration": {
       "UseLakeFormationCredentials": true,
       "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation)
     }
   ```

1.  **Was sind die unterstützten Ziele für einen Crawler, der Lake-Formation-Anmeldeinformationen verwendet?** 

   Ein Crawler, der Lake-Formation-Anmeldeinformationen verwendet, wird nur für Amazon S3 (kontointernes und kontoübergreifendes Crawling), kontointerne Data-Catalog-Ziele (wobei der zugrunde liegende Speicherort Amazon S3 ist) und Apache-Iceberg-Ziele unterstützt.

1.  **Kann ich mehrere Amazon-S3-Buckets als Teil eines einzelnen Crawlers mit Lake-Formation-Anmeldeinformationen crawlen?** 

   Nein, für Crawling-Ziele, die Lake-Formation-Berechtigungsverkauf verwenden, müssen die zugrunde liegenden Amazon-S3-Standorte zum selben Bucket gehören. Kunden können beispielsweise mehrere Zielstandorte `(s3://bucket1/folder1, s3://bucket1/folder2)` verwenden, wenn diese sich im selben Bucket befinden (Bucket1). Das Angeben verschiedener Buckets (s3://bucket1/folder1, s3://bucket2/folder2) wird nicht unterstützt.

# Fehlerbehebung AWS Glue bei Ray-Fehlern aus Protokollen
<a name="troubleshooting-ray"></a>

**Wichtig**  
AWS Glue for Ray steht ab dem 30. April 2026 nicht mehr für Neukunden zur Verfügung. Wenn Sie AWS Glue For Ray nutzen möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Funktionen, die denen von AWS Glue für Ray ähneln, finden Sie in Amazon EKS. Weitere Informationen finden Sie unter [Ende des Supports AWS Glue für Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

AWS Glue bietet Zugriff auf Protokolle, die von Ray-Prozessen während der Jobausführung ausgegeben werden. Wenn Sie bei Ray-Aufträgen auf Fehler oder unerwartetes Verhalten stoßen, sammeln Sie zunächst Informationen aus den Protokollen, um die Fehlerursache zu ermitteln. Wir stellen auch ähnliche Protokolle für interaktive Sitzungen bereit. Sitzungsprotokolle werden mit dem `/aws-glue/ray/sessions`-Präfix bereitgestellt.

Protokollzeilen werden CloudWatch in Echtzeit gesendet, während Ihr Job ausgeführt wird. Druckanweisungen werden nach Abschluss des Rechenlaufs an die CloudWatch Protokolle angehängt. Protokolle werden nach der Ausführung eines Auftrags zwei Wochen lang aufbewahrt. 

## Überprüfung von Ray-Auftragsprotokollen
<a name="troubleshooting-ray-log-locations"></a>

Wenn ein Auftrag fehlschlägt, erfassen Sie den Auftragsnamen und die ID der Auftragsausführung. Sie finden diese in der AWS Glue Konsole. Navigieren Sie zur Seite des Auftrags und dann zur Registerkarte **Runs** (Ausführungen). Ray-Job-Logs werden in den folgenden dedizierten CloudWatch Protokollgruppen gespeichert.
+ `/aws-glue/ray/jobs/script-log/` – Speichert Protokolle, die von Ihrem Haupt-Ray-Skript ausgegeben werden.
+ `/aws-glue/ray/jobs/ray-monitor-log/` – Speichert Protokolle, die vom Ray-Autoscaler-Prozess ausgegeben werden. Diese Protokolle werden für den Hauptknoten und nicht für andere Worker-Knoten generiert.
+ `/aws-glue/ray/jobs/ray-gcs-logs/` – Speichert Protokolle, die vom GCS-Prozess (Global Control Store) ausgegeben werden. Diese Protokolle werden für den Hauptknoten und nicht für andere Worker-Knoten generiert.
+ `/aws-glue/ray/jobs/ray-process-logs/` – Speichert Protokolle, die von anderen Ray-Prozessen (hauptsächlich dem Dashboard-Agenten) ausgegeben werden, die auf dem Hauptknoten ausgeführt werden. Diese Protokolle werden für den Hauptknoten und nicht für andere Worker-Knoten generiert.
+ ` /aws-glue/ray/jobs/ray-raylet-logs/` – Speichert Protokolle, die von jedem Raylet-Prozess ausgegeben werden. Diese Protokolle werden in einem einzigen Stream für jeden Worker-Knoten erfasst, einschließlich des Hauptknotens.
+ `/aws-glue/ray/jobs/ray-worker-out-logs/` – Speichert `stdout`-Protokolle für jeden Worker im Cluster. Diese Protokolle werden für jeden Worker-Knoten generiert, einschließlich des Hauptknotens.
+ `/aws-glue/ray/jobs/ray-worker-err-logs/` – Speichert `stderr`-Protokolle für jeden Worker im Cluster. Diese Protokolle werden für jeden Worker-Knoten generiert, einschließlich des Hauptknotens.
+ `/aws-glue/ray/jobs/ray-runtime-env-log/` – Speichert Protokolle über den Ray-Einrichtungsprozess. Diese Protokolle werden für jeden Worker-Knoten generiert, einschließlich des Hauptknotens.

## Fehlerbehebung bei Ray-Auftragsfehlern
<a name="troubleshooting-ray-errors"></a>

Um die Organisation von Ray-Protokollgruppen zu verstehen und die Protokollgruppen zu finden, die Ihnen bei der Fehlerbehebung helfen, ist es hilfreich, Hintergrundinformationen zur Ray-Architektur zu haben.

In AWS Glue ETL entspricht ein Worker einer Instanz. Wenn Sie Worker für einen AWS Glue Job konfigurieren, legen Sie die Art und Anzahl der Instanzen fest, die für den Job reserviert sind. Ray verwendet den Begriff *Worker* auf unterschiedliche Weise. 

Ray verwendet *Head-Knoten* und *Worker-Knoten*, um die Verantwortlichkeiten einer Instance innerhalb eines Ray-Clusters zu unterscheiden. Ein Ray-Worker-Knoten kann mehrere *Akteurs*-Prozesse hosten, die Berechnungen durchführen, um das Ergebnis Ihrer verteilten Berechnung zu erzielen. Akteure, die eine Replik einer Funktion ausführen, werden als *Repliken* bezeichnet. Replikatakteure können auch als Worker-Prozesse bezeichnet werden. Replikate können auch auf dem Hauptknoten ausgeführt werden, der als Head bezeichnet wird, da er zusätzliche Prozesse zur Koordinierung des Clusters ausführt. 

Jeder Akteur, der zu Ihrer Berechnung beiträgt, generiert einen eigenen Protokollstream. Das gibt uns einige Einblicke: 
+ Die Anzahl der Prozesse, die Protokolle ausgeben, kann größer sein als die Anzahl der Worker, die dem Auftrag zugewiesen sind. Oft hat jeder Kern auf jeder Instance einen Akteur.
+  Ray-Head-Knoten geben Cluster-Management- und Startprotokolle aus. Im Gegensatz dazu geben Ray-Worker-Knoten nur Protokolle für die an ihnen ausgeführten Arbeiten aus.

Weitere Informationen zur Ray-Architektur finden Sie in den [Architektur-Whitepapers]( https://docs.ray.io/en/latest/ray-contribute/whitepaper.html) in der Ray-Dokumentation.

### Problembereich: Zugriff auf Amazon S3
<a name="troubleshooting-ray-errors-s3"></a>

Prüfen Sie die Fehlermeldung der Auftragsausführung. Wenn dies nicht genug Informationen enthält, lesen Sie `/aws-glue/ray/jobs/script-log/`.

### Problembereich: PIP-Abhängigkeitsmanagement
<a name="troubleshooting-ray-errors-dependencies"></a>

Überprüfen Sie `/aws-glue/ray/jobs/ray-runtime-env-log/`.

### Problembereich: Überprüfung von Zwischenwerten im Hauptprozess
<a name="troubleshooting-ray-errors-main-process"></a>

Schreiben Sie von Ihrem Hauptskript nach `stderr` oder `stdout` und rufen Sie Protokolle von `/aws-glue/ray/jobs/script-log/` ab.

### Problembereich: Überprüfung von Zwischenwerten in einem untergeordneten Prozess
<a name="troubleshooting-ray-errors-worker-process"></a>

Schreiben Sie nach `stderr` oder `stdout` von Ihrer `remote`-Funktion. Rufen Sie anschließend Protokolle von `/aws-glue/ray/jobs/ray-worker-out-logs/` oder `/aws-glue/ray/jobs/ray-worker-err-logs/` ab. Ihre Funktion wurde möglicherweise auf einem beliebigen Replikat ausgeführt, sodass Sie möglicherweise mehrere Protokolle untersuchen müssen, um die beabsichtigte Ausgabe zu finden.

### Problembereich: Interpretation von IP-Adressen in Fehlermeldungen
<a name="troubleshooting-ray-errors-ips"></a>

In bestimmten Fehlersituationen kann Ihr Auftrag möglicherweise eine Fehlermeldung ausgeben, die eine IP-Adresse enthält. Diese IP-Adressen sind flüchtig und werden vom Cluster zur Identifizierung und Kommunikation zwischen den Knoten verwendet. Protokolle für einen Knoten werden in einem Protokollstream mit einem eindeutigen Suffix basierend auf der IP-Adresse veröffentlicht. 

In können Sie Ihre Protokolle filtern CloudWatch, um die für diese IP-Adresse spezifischen Protokolle zu überprüfen, indem Sie dieses Suffix identifizieren. Wenn Sie beispielsweise *FAILED\$1IP* und *JOB\$1RUN\$1ID* angeben, können Sie das Suffix wie folgt identifizieren: 

```
filter @logStream like /JOB_RUN_ID/
| filter @message like /IP-/
| parse @message "IP-[*]" as ip
| filter ip like /FAILED_IP/
| fields replace(ip, ":", "_") as uIP
| stats count_distinct by uIP as logStreamSuffix
| display logStreamSuffix
```

# AWS Glue Machine Learning-Ausnahmen
<a name="exceptions-machine-learning"></a>

In diesem Thema werden HTTP-Fehlercodes und Fehlerzeichenfolgen für AWS Glue-Ausnahmen im Zusammenhang mit Machine Learning beschrieben. Die Fehlercodes und Fehlerzeichenfolgen werden für jede Machine Learning-Aktivität bereitgestellt, die beim Ausführen einer Operation auftreten kann. Außerdem können Sie sehen, ob es möglich ist, die Operation, die zu dem Fehler geführt hat, erneut zu versuchen.

## Stornieren MLTask RunActivity
<a name="exceptions-machine-learning-CancelMLTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es wurde kein ML-Aufgabenlauf für [taskRunId]: im Konto [accountId] für die Transformation [TransformName] gefunden.“

  Erneuter Versuch OK: Nein.

## Erstellen MLTask RunActivity
<a name="exceptions-machine-learning-CreateMLTransformActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ InvalidInputException (400)
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“
  + „Eine AWS Glue Table Eingabequelle sollte in Transformation angegeben werden.“
  + „In der Eingabequellspalte [columnName] ist ein ungültiger Datentyp im Katalog definiert.“
  + „Es muss genau eine Eingabe-Datensatztabelle bereitgestellt werden.“
  + „Datenbankname sollte angegeben werden.“
  + „Tabellenname sollte angegeben werden.“
  + „Schema ist nicht für die Transformation definiert.“
  + „Schema sollte den angegebenen Primärschlüssel enthalten: primaryKey].“
  + „Problem beim Abrufen des Datenkatalogschemas: [message].“
  + „Max. Kapazität und Arbeitskraft Num/Type können nicht gleichzeitig festgelegt werden.“
  + „Beides WorkerType und NumberOfWorkers sollte gesetzt werden.“
  + „MaxCapacity sollte >= [maxCapacity] sein.“
  + „NumberOfWorkers sollte >= [MaxCapacity] sein.“
  + „Max. Wiederholungen sollten nicht negativ sein.“
  +  „Parameter für Übereinstimmungssuche wurden nicht festgelegt.“
  + „Ein Primärschlüssel muss in den Parametern für die Übereinstimmungssuche angegeben werden.

  Erneuter Versuch OK: Nein.
+ AlreadyExistsException (400)
  + „Transformation mit dem Namen [TransformName] ist bereits vorhanden.“

  Erneuter Versuch OK: Nein.
+ IdempotentParameterMismatchException (400)
  + „Idempotente Erstellungsanforderung für Transformation [transformName] hatte nicht übereinstimmende Parameter.“

  Erneuter Versuch OK: Nein.
+ InternalServiceException (500)
  + „Abhängigkeitsfehler.“

  Erneuter Versuch OK: Ja.
+ ResourceNumberLimitExceededException (400)
  + „Die Anzahl der ML-Transformationen ([count]) hat die Grenze von [limit] Transformationen überschritten.“

  Erneuter Versuch OK: Ja, sobald Sie eine Transformation gelöscht haben, um Platz für diese neue zu schaffen.

## MLTransformAktivität löschen
<a name="exceptions-machine-learning-DeleteMLTransformActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden“

  Erneuter Versuch OK: Nein.

## Holen MLTask RunActivity
<a name="exceptions-machine-learning-GetMLTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es wurde kein ML-Aufgabenlauf für [taskRunId]: im Konto [accountId] für die Transformation [TransformName] gefunden.“

  Erneuter Versuch OK: Nein.

## Holen MLTask RunsActivity
<a name="exceptions-machine-learning-GetMLTaskRunsActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es wurde kein ML-Aufgabenlauf für [taskRunId]: im Konto [accountId] für die Transformation [TransformName] gefunden.“

  Erneuter Versuch OK: Nein.

## Aktivität abrufen MLTransform
<a name="exceptions-machine-learning-GetMLTransformActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.

## Aktivität abrufen MLTransforms
<a name="exceptions-machine-learning-GetMLTransformsActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Konto-ID darf nicht leer sein.“
  + „Sortieren für Spalte [column] nicht unterstützt.“
  + „[column] darf nicht leer sein.“
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“

  Erneuter Versuch OK: Nein.

## GetSaveLocationForTransformArtifactActivity
<a name="exceptions-machine-learning-GetSaveLocationForTransformArtifactActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Nicht unterstützter Artefakttyp [artifactType].“
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“

  Erneuter Versuch OK: Nein.

## GetTaskRunArtifactActivity
<a name="exceptions-machine-learning-GetTaskRunArtifactActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es wurde kein ML-Aufgabenlauf für [taskRunId]: im Konto [accountId] für die Transformation [TransformName] gefunden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Dateiname '[fileName]' ist für die Veröffentlichung ungültig.“
  + „Artefakt für den Aufgabentyp [taskType] kann nicht abgerufen werden.“
  + „Artefakt für [artifactType] kann nicht abgerufen werden.“
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“

  Erneuter Versuch OK: Nein.

## Veröffentlichen MLTransform ModelActivity
<a name="exceptions-machine-learning-PublishMLTransformModelActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Ein vorhandenes Modell mit Version - [version] kann nicht für Konto-ID - [accountId] - und Transform-ID - [transformId] gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Dateiname '[fileName]' ist für die Veröffentlichung ungültig.“
  + „Unzulässiges vorangestelltes Minuszeichen für vorzeichenlose Zeichenfolge [string].“
  + „UngültigeZiffer am Ende von [string].“
  +  „Zeichenfolgenwert [string] überschreitet den Bereich von ‚vorzeichenlos lang‘.“
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“

  Erneuter Versuch OK: Nein.

## PullLatestMLTransformModelActivity
<a name="exceptions-machine-learning-PullLatestMLTransformModelActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“

  Erneuter Versuch OK: Nein.
+ ConcurrentModificationException (400)
  + „Es kann keine Modellversion zum Schulen aufgrund von Racing Inserts mit nicht übereinstimmenden Parametern erstellt werden.“
  + „Das ML-Transform-Modell für die Transform-ID [transformId] ist veraltet oder wird von einem anderen Prozess aktualisiert. Versuchen Sie es erneut.“

  Erneuter Versuch OK: Ja.

## PutJobMetadataForMLTransformAktivität
<a name="exceptions-machine-learning-PutJobMetadataForMLTransformActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es wurde kein ML-Aufgabenlauf für [taskRunId]: im Konto [accountId] für die Transformation [TransformName] gefunden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“
  + „Unbekannter Aufgabenmetadatentyp [jobType].“
  +  „Zum Aktualisieren muss eine Aufgaben-Run-ID angegeben werden.“

  Erneuter Versuch OK: Nein.

## StartExportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“
  + „Es existiert kein Labelset für TransformID [transformId] in Konto-ID [accountId].“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + “[message].”
  + „Der bereitgestellte S3-Pfad befindet sich nicht in der gleichen Region wie die Transformation. Erwartete Region - [region], jedoch tatsächlich - [region].“

  Erneuter Versuch OK: Nein.

## StartImportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + “[message].”
  + „Ungültiger Labeldateipfad.“
  + „Auf die Labeldatei unter [labelPath] kann nicht zugegriffen werden. [message].“
  + „Die in der Transformation bereitgestellte IAM-Rolle kann nicht verwendet werden. Rolle: [role].“
  + „Ungültige Labeldatei der Größe 0.“
  + „Der bereitgestellte S3-Pfad befindet sich nicht in der gleichen Region wie die Transformation. Erwartete Region - [region], jedoch tatsächlich - [region].“

  Erneuter Versuch OK: Nein.
+ ResourceNumberLimitExceededException (400)
  + „Die Labeldatei hat das Limit von [limit] MB überschritten.“

  Erneuter Versuch OK: Nein. Erwägen Sie, Ihre Labeldatei in mehrere kleinere Dateien zu unterteilen.

## Anfang MLEvaluation TaskRunActivity
<a name="exceptions-machine-learning-StartMLEvaluationTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Es muss genau eine Eingabe-Datensatztabelle bereitgestellt werden.“
  + „Datenbankname sollte angegeben werden.“
  + „Tabellenname sollte angegeben werden.“
  + „Parameter für Übereinstimmungssuche wurden nicht festgelegt.“
  + „Ein Primärschlüssel muss in den Parametern für die Übereinstimmungssuche angegeben werden.

  Erneuter Versuch OK: Nein.
+ MLTransformNotReadyException (400)
  + „Diese Operation kann nur auf eine Transformation angewendet werden, die sich im Status READY befindet.“

  Erneuter Versuch OK: Nein.
+ InternalServiceException (500)
  + „Abhängigkeitsfehler.“

  Erneuter Versuch OK: Ja.
+ ConcurrentRunsExceededException (400)
  + „Anzahl der ML-Aufgabenausführungen [count] hat das Transformationslimit von [limit] Aufgabenausführungen überschritten.“
  + „Anzahl der ML-Aufgabenausführungen [count] hat das Limit von [limit] Aufgabenausführungen überschritten.“

  Erneuter Versuch OK: Ja, nach dem Warten auf den Abschluss der Aufgabenausführungen.

## Anfang MLLabeling SetGenerationTaskRunActivity
<a name="exceptions-machine-learning-StartMLLabelingSetGenerationTaskRunActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Es muss genau eine Eingabe-Datensatztabelle bereitgestellt werden.“
  + „Datenbankname sollte angegeben werden.“
  + „Tabellenname sollte angegeben werden.“
  + „Parameter für Übereinstimmungssuche wurden nicht festgelegt.“
  + „Ein Primärschlüssel muss in den Parametern für die Übereinstimmungssuche angegeben werden.

  Erneuter Versuch OK: Nein.
+ InternalServiceException (500)
  + „Abhängigkeitsfehler.“

  Erneuter Versuch OK: Ja.
+ ConcurrentRunsExceededException (400)
  + „Anzahl der ML-Aufgabenausführungen [count] hat das Transformationslimit von [limit] Aufgabenausführungen überschritten.“

  Erneuter Versuch OK: Ja, nach dem Abschluss der Aufgabenausführungen.

## MLTransformAktivität aktualisieren
<a name="exceptions-machine-learning-UpdateMLTransformActivity"></a>

Diese Aktivität hat folgende Ausnahmen:
+ EntityNotFoundException (400)
  + „Kann MLTransform im Konto [AccountID] mit dem Handle [TransformName] nicht gefunden werden.“

  Erneuter Versuch OK: Nein.
+ InvalidInputException (400)
  + „Eine weitere Transformation mit dem Namen [transformName] existiert bereits.“
  + “[message].”
  + „Transformationsname darf nicht leer sein.“
  + „Max. Kapazität und Arbeitskraft Num/Type können nicht gleichzeitig festgelegt werden.“
  + „Beides WorkerType und NumberOfWorkers sollte gesetzt werden.“
  + „MaxCapacity sollte >= [minMaxCapacity] sein.“
  + „NumberOfWorkers sollte >= [minNumWorkers] sein.“
  + „Max. Wiederholungen sollten nicht negativ sein.“
  + „Interner Servicefehler aufgrund unerwarteter Eingaben.“
  + „Parameter für Übereinstimmungssuche wurden nicht festgelegt.“
  + „Ein Primärschlüssel muss in den Parametern für die Übereinstimmungssuche angegeben werden.

  Erneuter Versuch OK: Nein.
+ AlreadyExistsException (400)
  + „Transformation mit dem Namen [TransformName] ist bereits vorhanden.“

  Erneuter Versuch OK: Nein.
+ IdempotentParameterMismatchException (400)
  + „Idempotente Erstellungsanforderung für Transformation [transformName] hatte nicht übereinstimmende Parameter.“

  Erneuter Versuch OK: Nein.

# AWS Glue Kontingente
<a name="troubleshooting-service-limits"></a>

Sie können sich an uns wenden AWS Support , um [eine Erhöhung des Kontingents für die in der aufgeführten Servicekontingente zu beantragen *Allgemeine AWS-Referenz*](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). Sofern nicht anders angegeben, gilt jedes Kontingent spezifisch für eine Region. Weitere Informationen finden Sie unter [AWS Glue-Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/glue.html). 