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:
-
Ü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. Auf diese Weise können Sie die Integrität der Daten überprüfen, die Sie erfassen.
-
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 von 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 Algorithmen werden unterstützt:
-
MD5
-
SHA-1
-
SHA-1
Wenn Sie keinen Algorithmus angeben, ist der Standard SHA-256.
Alle Dateien in einem Ordner mit einer Reihe von Prüfsummen validieren:
FileMatch "s3://amzn-s3-demo-bucket /" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch "s3://amzn-s3-demo-bucket /internal-folder/" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"]
Dateien in verschiedenen Ordnern vergleichen
# Compare all files across two buckets FileMatch "s3://original_bucket/" "s3://archive_bucket/" # Compare files within specific subfolders FileMatch "s3://original_bucket/internal-folder/" "s3://original_bucket/other-folder/" # Compare only .json files across two folders FileMatch "s3://original_bucket/" "s3://archive_bucket/" with uriRegex = "\.json$" # Compare only the 5 most recent .csv files FileMatch "s3://original_bucket/" "s3://archive_bucket/" with recentFiles = 5 with uriRegex = "\.csv$" with filterOrder = ["uriRegex","recentFiles"]
FileMatch überprüft den Inhalt der Dateien original_bucket und stellt sicher, dass sie mit dem Inhalt übereinstimmen. archive_bucket Bei einer nicht vollständigen Übereinstimmung schlägt die Regel fehl. Ebenso kann der Inhalt interner Ordner oder einzelner Dateien überprüft werden.
FileMatch kann auch einzelne Dateien miteinander vergleichen.
FileMatch "s3://amzn-s3-demo-bucket /file_old.json" "s3://amzn-s3-demo-bucket /file_new.json"
Ableiten von Dateinamen direkt aus Datenrahmen
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 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.
Optionale dateibasierte Regel-Tags:
Mithilfe von Tags können Sie das Verhalten der Regel steuern.
recentFiles
Dieses Tag begrenzt die Anzahl der verarbeiteten Dateien, indem die neueste Datei zuerst angezeigt wird.
FileMatch "s3://bucket/" in ["3ee0d8617ac04179sam4713e5ef8f319"] with recentFiles = 1
uriRegex
Anmerkung
Das uriRegex Tag ist in AWS Glue 5.0 und höher verfügbar.
Dieses Tag filtert Dateien, indem es ein Regex-Muster auf den Dateipfad anwendet. Es werden nur Dateien verarbeitet, deren Pfade dem Muster entsprechen. Sie können auch einen negativen Lookahead verwenden, um Dateien auszuschließen, die einem Muster entsprechen.
# Match only files with a .json extension FileMatch "s3://bucket/" in ["3ee0d8617ac04179sam4713e5ef8f319"] with uriRegex = "\.json$" # Exclude files ending in .tmp using a negative lookahead FileMatch "s3://bucket/" in ["3ee0d8617ac04179sam4713e5ef8f319"] with uriRegex = "(?!.*\.tmp$).*"
Reihenfolge filtern
Anmerkung
Das filterOrder Tag ist in AWS Glue 5.0 und höher verfügbar.
Wenn Sie mehrere Filter-Tags wie recentFiles und uriRegex zusammen verwenden, steuert das filterOrder Tag die Reihenfolge, in der sie angewendet werden. Die Standardreihenfolge ist recentFiles zuerst, dannuriRegex.
FileMatch "s3://bucket/" in ["3ee0d8617ac04179sam4713e5ef8f319"] with recentFiles = 1 with uriRegex = "\.json$" with filterOrder = ["uriRegex","recentFiles"]
matchFileName
Dieses Tag stellt sicher, dass Dateien keine doppelten Namen aufweisen. Das Standardverhalten lautet „false“.
FileMatch "s3://amzn-s3-demo-bucket/file.json" in ["3ee0d8617ac04179sam4713e5ef8f319"] with matchFileName = "true"
Es gibt ein paar Überlegungen:
-
In AWS Glue ETL müssen Sie die EvaluateDataQualityTransformation unmittelbar nach einer Amazon S3- oder AWS Glue Data Catalog-Transformation haben.
-
Diese Regel funktioniert nicht in AWS Glue Interactive Sessions.