FileFreshness - AWS Glue

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.

FileFreshness

FileFreshness stellt sicher, dass Ihre Datendateien auf der Grundlage der von Ihnen angegebenen Bedingungen aktuell sind. Es verwendet den Zeitpunkt der letzten Änderung Ihrer Dateien, um sicherzustellen, dass die Datendateien oder der gesamte Ordner korrekt sind up-to-date.

Diese Regel erfasst zwei Metriken:

  • FileFreshness Einhaltung der Vorschriften auf der Grundlage der von Ihnen eingerichteten Regel

  • Die Anzahl der Dateien, die von der Regel gescannt wurden

{"Dataset.*.FileFreshness.Compliance":1,"Dataset.*.FileCount":1}

Die Anomalieerkennung berücksichtigt diese Metriken nicht.

Überprüfen der Aktualität von Dateien

Die folgende Regel stellt sicher, dass tickets.parquet innerhalb der letzten 24 Stunden erstellt wurde.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/tickets.parquet" > (now() - 24 hours)

Überprüfen der Aktualität von Ordnern

Die folgende Regel gilt, wenn alle Dateien im Ordner innerhalb der letzten 24 Stunden erstellt oder geändert wurden.

FileFreshness "s3://bucket/" >= (now() -1 days) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" >= (now() - 24 hours)

Überprüfen der Aktualität von Ordnern oder Dateien anhand eines Schwellenwerts

Die folgende Regel gilt, wenn 10 % der Dateien im Ordner „Tickets“ in den letzten 10 Tagen erstellt oder geändert wurden.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" < (now() - 10 days) with threshold > 0.1

Überprüfen von Dateien oder Ordnern mit bestimmten Daten

Sie können die Aktualität von Dateien für bestimmte Tage überprüfen.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "2020-01-01" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "2023-01-01" and "2024-01-01"

Überprüfen von Dateien oder Ordnern mit Zeitpunkten

Sie können FileFreshness damit sicherstellen, dass Dateien zu bestimmten Zeiten eingetroffen sind.

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between now() and (now() - 45 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "9:30 AM" and "9:30 PM" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > (now() - 10 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > now() FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between (now() - 2 hours) and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between (now() - 3 days) and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "2001-02-07" and (now() + 15 minutes) FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "21:45"" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "2024-01-01" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "02:30" and "04:30" FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" between "9:30 AM" and "22:15"

Wesentliche Überlegungen:

  • FileFreshness kann Dateien anhand von Tagen, Stunden und Minuten auswerten

  • AM/PM und 24-Stunden-System werden unterstützt.

  • Die Zeiten werden in UTC berechnet, sofern keine Überschreibung angegeben ist.

  • Datumsangaben werden in UTC zur Uhrzeit 00:00 berechnet.

FileFreshness das ist zeitbasiert und funktioniert wie folgt:

FileFreshness "s3://amzn-s3-demo-bucket/artifacts/file/tickets/" > "21:45"
  • Zunächst wird die Uhrzeit „21:45“ mit dem heutigen Datum im UTC-Format kombiniert, um ein Datums-/Zeitfeld zu erstellen.

  • Als Nächstes wird das Datum und die Uhrzeit in die von Ihnen angegebene Zeitzone umgewandelt.

  • Schließlich wird die Regel ausgewertet.

Optionale dateibasierte Regel-Tags:

Mit Tags können Sie das Verhalten der Regel steuern.

recentFiles

Dieses Tag begrenzt die Anzahl der verarbeiteten Dateien, indem es die neueste Datei an erster Stelle behält.

FileFreshness "s3://amzn-s3-demo-bucket/" between (now() - 100 minutes) and (now() + 10 minutes) with recentFiles = 1

timeZone

Akzeptierte Zeitzonenüberschreibungen. Unterstützte Zeitzonen finden Sie unter Zulässige Zeitzonen.

FileFreshness "s3://path/" > "21:45" with timeZone = "America/New_York"
FileFreshness "s3://path/" > "21:45" with timeZone = "America/Chicago"
FileFreshness "s3://path/" > "21:45" with timeZone = "Europe/Paris"
FileFreshness "s3://path/" > "21:45" with timeZone = "Asia/Shanghai"
FileFreshness "s3://path/" > "21:45" with timeZone = "Australia/Darwin"

Direktes Ableiten von Dateinamen aus Datenrahmen

Sie müssen nicht immer einen Dateipfad angeben. Wenn Sie beispielsweise die Regel im AWS Glue-Datenkatalog erstellen, kann es schwierig sein, herauszufinden, welche Ordner die Katalogtabellen verwenden. AWS Glue Data Quality kann die spezifischen Ordner oder Dateien finden, die zum Auffüllen Ihres Datenrahmens verwendet wurden, und erkennt, ob sie aktuell sind.

Anmerkung

Diese Funktion funktioniert nur, wenn Dateien erfolgreich in das Feld oder eingelesen wurden. DynamicFrame DataFrame

FileFreshness > (now() - 24 hours)

Diese Regel findet den Ordnerpfad oder die Dateien, die zum Füllen des dynamischen Rahmens oder Datenrahmens verwendet werden. Dies funktioniert für Amazon S3 S3-Pfade oder Amazon S3-basierte AWS Glue Data Catalog-Tabellen. Es gibt ein paar Überlegungen:

  1. In AWS Glue ETL müssen Sie die EvaluateDataQualityTransformation unmittelbar nach einer Amazon S3- oder AWS Glue Data Catalog-Transformation haben.

    Der Screenshot zeigt einen Knoten „Evaluate Data Quality“, der mit einem Amazon-S3-Knoten verbunden ist.
  2. Diese Regel funktioniert nicht in AWS Glue Interactive Sessions.

Wenn Sie dies in beiden Fällen versuchen oder wenn AWS Glue die Dateien nicht finden kann, gibt AWS Glue den folgenden Fehler aus: “Unable to parse file path from DataFrame”