FileMatch
La regla FileMatch le permite comparar archivos con otros archivos o sumas de comprobación. Esto puede ser útil en algunas situaciones:
-
Validación de archivos recibidos de fuentes externas: puede usar FileMatch para asegurarse de que haya recibido los archivos correctos de orígenes externos mediante su comparación con sumas de comprobación. Esto ayuda a validar la integridad de los datos que está ingiriendo.
-
Comparación de datos en dos carpetas diferentes: FileMatch se puede utilizar para comparar archivos entre dos carpetas.
Tenga en cuenta que, a diferencia de otras reglas, FileMatch no recopila ninguna estadística de datos.
Validación de un archivo con una suma de comprobación:
FileMatch acepta un archivo y un conjunto de sumas de comprobación para garantizar que al menos una suma de comprobación coincida con el archivo.
FileMatch "s3://bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch "s3://bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-1" FileMatch "s3://bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-256" FileMatch "s3://bucket/file.json" in ["3ee0d8617ac041793154713e5ef8f319"]
Los siguientes algoritmos estándar son compatibles:
-
MD5
-
SHA-1
-
SHA-256
Si no proporciona ningún algoritmo, el valor predeterminado es SHA-256.
Validación de todos los archivos de una carpeta con el conjunto de sumas de comprobación:
FileMatch "s3://bucket/" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch "s3://bucket/internal-folder/" in ["3ee0d8617ac041793154713e5ef8f319", "7e8617ac041793154713e5ef8f319"]
Comparación de archivos en diferentes carpetas
FileMatch "s3://original_bucket/" "s3://archive_bucket/" FileMatch "s3://original_bucket/internal-folder/" "s3://original_bucket/other-folder/"
FileMatch comprobará el contenido de los archivos en original_bucket
y se asegurará de que coincidan con lo que contiene archive_bucket
. La regla fallará si no coinciden exactamente. También puede comprobar el contenido de las carpetas internas o de los archivos individuales.
FileMatch también puede comparar archivos individuales entre sí.
FileMatch "s3://bucket/file_old.json" "s3://bucket/file_new.json"
Cómo inferir los nombres de los archivos directamente de los marcos de datos
No siempre tiene que proporcionar una ruta de archivo. Por ejemplo, al crear la regla en el Catálogo de datos de AWS Glue (respaldado por Amazon S3), puede resultar difícil encontrar qué carpetas usan las tablas del catálogo. AWS Calidad de datos de Glue puede encontrar las carpetas o archivos específicos que se usan para rellenar su marco de datos.
FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "MD5" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-1" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"] with hashAlgorithm = "SHA-256" FileMatch in ["3ee0d8617ac041793154713e5ef8f319"]
Si la suma de comprobación proporcionada es diferente de la calculada, FileMatch le avisará de la diferencia.
Existen algunas consideraciones:
-
En la ETL de AWS Glue, debe tener la transformación EvaluateDataQuality inmediatamente después de una transformación de Amazon S3 o del Catálogo de datos de AWS Glue.
-
Esta regla no funcionará en las sesiones interactivas de AWS Glue.