Warum verarbeitet mein AWS Glue ETL-Auftrag Daten erneut, auch wenn Auftrags-Lesezeichen aktiviert sind?

Lesedauer: 1 Minute
0

Ich habe Auftrags-Lesezeichen für meinen AWS Glue-Auftrag aktiviert, aber der Auftrag verarbeitet meine Daten immer noch erneut.

Lösung

Im Folgenden sind häufige Gründe aufgeführt, warum ein Extract, Transform, Load (ETL)-Auftrag Daten erneut verarbeitet, obwohl Sie Auftrags-Lesezeichen aktiviert haben:

  • Sie haben mehrere gleichzeitige Aufträge mit Auftrags-Lesezeichen, und die maximale Gleichzeitigkeit ist nicht auf 1 gesetzt.

  • Das Objekt job.init() fehlt oder wird zu Beginn des AWS Glue-ETL-Skripts nicht aufgerufen:

    job.init(args['JOB_NAME'], args)
  • Das Objekt job.commit() fehlt oder wird am Ende des Skripts nicht aufgerufen:

    job.commit()
  • Der Parameter transformation_ctx fehlt oder ist nicht für jede ETL-Operator-Instance eindeutig:

    datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "db_name", table_name = "table_name", transformation_ctx = "datasource0")
  • Die Primärschlüssel der Tabelle sind nicht in sequentieller Reihenfolge (nur JDBC-Verbindungen).

  • Die Quelldaten wurden nach der Ausführung des letzten Auftrags geändert.

  • Der Auftrag verwendet einen Spark DataFrame, aber die Auftrags-Lesezeichenfunktion von AWS Glue wird von Spark DataFrames nicht unterstützt.

Weitere Informationen zu jedem dieser Probleme finden Sie unter Fehler: Ein Auftrag verarbeitet Daten erneut, wenn Auftrags-Lesezeichen aktiviert sind.

Ähnliche Informationen

Verfolgung der verarbeiteter Daten mithilfe von Job-Bookmarks

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten