FileUniqueness - AWS Glue

FileUniqueness

FileUniqueness permite asegurarse de que no haya archivos duplicados en los datos que ha recibido de sus productores de datos.

Recopila las siguientes estadísticas de datos:

  1. El número de archivos que ha analizado la regla

  2. La relación de singularidad de los archivos

Dataset.*.FileUniquenessRatio: 1.00, Dataset.*.FileCount: 8.00

Cómo encontrar archivos duplicados en una carpeta:

FileUniqueness "s3://bucket/" > 0.5 FileUniqueness "s3://bucket/folder/" = 1

Cómo inferir los nombres de las carpetas directamente de los marcos de datos para detectar duplicados:

No siempre tiene que proporcionar una ruta de archivo. Por ejemplo, al crear la regla en el catálogo de datos de AWS Glue, 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.

nota

Cuando se utiliza la inferencia, las reglas basadas en archivos solo pueden detectar los archivos leídos correctamente en DynamicFrame o DataFrame.

FileUniqueness > 0.5

Etiquetas de reglas opcionales basadas en archivos:

Las etiquetas permiten controlar el comportamiento de las reglas.

recentFiles

Esta etiqueta limita el número de archivos procesados dejando primero el archivo más reciente.

FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with recentFiles = 1

uriRegex

nota

La etiqueta AWS está disponible en uriRegex Glue 5.0 y versiones posteriores.

Esta etiqueta filtra los archivos mediante la aplicación de un patrón de expresión regular a la ruta del archivo. Solo se procesan los archivos cuyas rutas coinciden con el patrón. También puede usar una anticipación negativa para excluir los archivos que coinciden con un patrón.

# Match only files with a .csv extension FileUniqueness "s3://bucket/" > 0.5 with uriRegex = "\.csv$" # Exclude files ending in .tmp using a negative lookahead FileUniqueness "s3://bucket/" > 0.5 with uriRegex = "(?!.*\.tmp$).*"

filterOrder

nota

La etiqueta AWS está disponible en filterOrder Glue 5.0 y versiones posteriores.

Cuando utiliza varias etiquetas de filtro, como recentFiles y uriRegex, en conjunto, la etiqueta filterOrder controla el orden en que se aplican. El orden predeterminado es primero recentFiles y luego uriRegex.

FileUniqueness "s3://bucket/" > 0.5 with recentFiles = 5 with uriRegex = "\.csv$" with filterOrder = ["uriRegex","recentFiles"]

matchFileName

Esta etiqueta garantiza que los archivos no tengan nombres duplicados. El comportamiento predeterminado es false.

FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with matchFileName = "true"

Existen algunas consideraciones:

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

  2. Esta regla no funcionará en las sesiones interactivas de AWS Glue.