FileMatch - 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.

FileMatch

Die FileMatch Regel ermöglicht es Ihnen, Dateien mit anderen Dateien oder Prüfsummen zu vergleichen. Dies kann in einigen Szenarien nützlich sein:

  1. Überprüfen von Dateien, die von externen Quellen empfangen wurden: Mit FileMatch dieser Methode können Sie sicherstellen, dass Sie die richtigen Dateien von externen Quellen erhalten haben, indem Sie sie mit Prüfsummen vergleichen. Dies hilft bei der Überprüfung der Integrität der Daten, die Sie aufnehmen.

  2. Daten in zwei verschiedenen Ordnern vergleichen: FileMatch kann verwendet werden, um Dateien zwischen zwei Ordnern zu vergleichen.

Diese Regel erfasst eine Metrik: die Anzahl der Dateien, die mit der Regel gescannt wurden.

{"Dataset.*.FileCount":1}

Datei mit einer Prüfsumme validieren:

FileMatch akzeptiert eine Datei und festgelegte Prüfsummen, um sicherzustellen, dass mindestens eine Prüfsumme mit der Datei übereinstimmt.

FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-1" FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-256" FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"]

Die folgenden Standardalgorithmen werden unterstützt:

  • MD5

  • SHA-1

  • SHA-256

Wenn Sie keinen Algorithmus angeben, ist der Standard SHA-256.

Überprüfen Sie alle Dateien in einem Ordner mit einer Reihe von Prüfsummen:

FileMatch "s3://amzn-s3-demo-bucket /" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch "s3://amzn-s3-demo-bucket /internal-folder/" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"]

Vergleichen Sie Dateien in verschiedenen Ordnern

FileMatch "s3://original_bucket/" "s3://archive_bucket/" FileMatch "s3://original_bucket/internal-folder/" "s3://original_bucket/other-folder/"

FileMatch überprüft den Inhalt der Dateien original_bucket und stellt sicher, dass sie mit dem Inhalt übereinstimmenarchive_bucket. Die Regel schlägt fehl, wenn sie nicht genau übereinstimmen. Es kann auch den Inhalt interner Ordner oder einzelner Dateien überprüfen.

FileMatch kann auch einzelne Dateien miteinander vergleichen.

FileMatch "s3://amzn-s3-demo-bucket /file_old.json" "s3://amzn-s3-demo-bucket /file_new.json"

Dateinamen direkt aus Datenrahmen ableiten

Sie müssen nicht immer einen Dateipfad angeben. Wenn Sie beispielsweise die Regel im AWS Glue-Datenkatalog (unterstützt von Amazon S3) erstellen, kann es schwierig sein, herauszufinden, welche Ordner die Katalogtabellen verwenden. AWS Glue Data Quality kann die spezifischen Ordner oder Dateien finden, die zum Füllen Ihres Datenrahmens verwendet werden.

Anmerkung

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

FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-1" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-256" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"]

Wenn sich die angegebene Prüfsumme von der berechneten unterscheidet, FileMatch werden Sie auf den Unterschied hingewiesen.

Der Screenshot zeigt eine Regel mit dem DQ-Status Regel fehlgeschlagen. FileMatch erklärt den Fehler.

Optionale dateibasierte Regel-Tags:

Mithilfe von Tags können Sie das Verhalten der Regel steuern.

Letzte Dateien

Dieses Tag begrenzt die Anzahl der verarbeiteten Dateien, indem die neueste Datei zuerst angezeigt wird.

FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac04179sam4713e5ef8f319"] with recentFiles = 1

matchFileName

Dieses Tag stellt sicher, dass Dateien keine doppelten Namen haben. Das Standardverhalten ist falsch.

FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac04179sam4713e5ef8f319"] with matchFileName = "true"

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 eine Regel mit dem DQ-Status „Regel fehlgeschlagen“. FileMatch erklärt den Fehler.
  2. Diese Regel funktioniert nicht in AWS Glue Interactive Sessions.