FileUniqueness
파일 고유성을 사용하면 데이터 생산자로부터 수신한 데이터에 중복 파일이 없는지 확인할 수 있습니다.
다음 데이터 통계를 수집합니다.
-
규칙에 따라 스캔된 파일 수
-
파일의 고유성 비율
Dataset.*.FileUniquenessRatio: 1.00, Dataset.*.FileCount: 8.00
폴더에서 중복 파일 찾기:
FileUniqueness "s3://bucket/" > 0.5 FileUniqueness "s3://bucket/folder/" = 1
데이터 프레임에서 직접 폴더 이름을 추론하여 중복 감지:
항상 파일 경로를 제공하지 않아도 됩니다. 예를 들어 AWS Glue Data Catalog에서 규칙을 작성할 때 카탈로그 테이블에서 사용 중인 폴더를 찾기 어려울 수 있습니다. AWS Glue Data Quality에서는 데이터 프레임을 채우는 데 사용되는 특정 폴더나 파일을 찾을 수 있습니다.
참고
추론을 사용하는 경우 파일 기반 규칙은 DynamicFrame 또는 DataFrame으로 성공적으로 읽은 파일만 감지할 수 있습니다.
FileUniqueness > 0.5
선택적 파일 기반 규칙 태그:
태그를 사용하면 규칙 동작을 제어할 수 있습니다.
recentFiles
이 태그는 가장 최근 파일을 먼저 유지하여 처리되는 파일 수를 제한합니다.
FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with recentFiles = 1
uriRegex
참고
uriRegex 태그는 AWS Glue 5.0 이상에서 사용할 수 있습니다.
이 태그는 파일 경로에 정규식 패턴을 적용하여 파일을 필터링합니다. 경로가 패턴과 일치하는 파일만 처리됩니다. 부정적 예측을 사용하여 패턴과 일치하는 파일을 제외할 수도 있습니다.
# 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
참고
filterOrder 태그는 AWS Glue 5.0 이상에서 사용할 수 있습니다.
recentFiles 및 uriRegex와 같은 여러 필터 태그를 함께 사용하면 filterOrder 태그가 해당 태그의 적용 순서를 제어합니다. 기본 순서는 recentFiles 먼저, 그 다음에 uriRegex입니다.
FileUniqueness "s3://bucket/" > 0.5 with recentFiles = 5 with uriRegex = "\.csv$" with filterOrder = ["uriRegex","recentFiles"]
matchFileName
이 태그는 파일의 이름이 중복되지 않게 합니다. 기본 동작은 false입니다.
FileUniqueness "s3://amzn-s3-demo-bucket/" > 0.5 with matchFileName = "true"
이때 몇 가지 고려 사항이 있습니다.
-
AWS Glue ETL에서 Amazon S3 또는 AWS Glue Data Catalog 변환 직후 EvaluateDataQuality 변환이 있어야 합니다.
-
이 규칙은 AWS Glue 대화형 세션에서 작동하지 않습니다.