Data Catalog에서 AWS Glue Data Quality 시작하기
이 시작하기 섹션에서는 AWS Glue 콘솔에서 AWS Glue Data Quality를 시작하는 데 도움이 되는 지침을 제공합니다. 데이터 품질 규칙 권장 사항 생성, 데이터에 대한 규칙 세트 평가와 같은 필수 작업을 완료하는 방법을 알아봅니다.
주제
사전 조건
AWS Glue Data Quality를 사용하기 전에 AWS Glue에서 Data Catalog 및 크롤러를 사용하는 방법을 숙지해야 합니다. AWS Glue Data Quality를 사용하여 Data Catalog 데이터베이스의 테이블 품질을 평가할 수 있습니다. 또한 다음 항목이 필요합니다.
-
데이터 품질 규칙 세트를 평가하기 위한 Data Catalog의 테이블.
-
규칙 권장 사항을 생성하거나 데이터 품질 작업을 실행할 때 제공하는 AWS Glue의 IAM 역할. 이 역할에는 다양한 AWS Glue Data Quality 프로세스를 대신 실행하는 데 필요한 리소스에 대한 액세스 권한이 있어야 합니다. 이러한 리소스에는 AWS Glue, Amazon S3, IAM, CloudWatch가 포함됩니다. AWS Glue Data Quality에 대한 최소 권한이 포함된 정책 예제를 보려면 예제 IAM 정책 섹션을 참조하세요.
AWS Glue의 IAM 역할에 대한 자세한 내용은 AWS Glue 서비스를 위한 IAM 정책 생성 및 AWS Glue 서비스를 위한 IAM 역할 생성을 참조하세요. AWS Glue Data Quality 작업에 대한 권한에서 데이터 품질과 관련된 모든 AWS Glue 권한 목록을 볼 수도 있습니다.
-
다양한 데이터를 포함하는 테이블이 하나 이상 있는 데이터베이스. 이 자습서에서 사용되는 테이블의 이름은
yyz-tickets
이며,tickets
테이블도 있습니다. 이 데이터는 토론토시가 주차 위반 고지서에서 공개적으로 이용할 수 있는 정보의 컬렉션입니다. 테이블을 직접 생성하는 경우 가장 적합한 권장 규칙 세트를 가져올 수 있도록 테이블에 다양한 유효한 데이터를 입력해야 합니다.
단계별 예제
샘플 데이터 세트가 포함된 단계별 예제는 AWS Glue Data Quality 블로그 게시물
규칙 권장 사항 생성
규칙 권장을 사용하면 코드를 작성하지 않고도 데이터 품질을 쉽게 시작할 수 있습니다. AWS Glue Data Quality를 사용하면 데이터를 분석하고, 규칙을 식별하며, 데이터 품질 작업에서 평가할 수 있는 규칙 세트를 생성할 수 있습니다. 권장 사항 실행은 90일 후에 자동으로 삭제됩니다.
데이터 품질 규칙 권장 사항을 생성하려면
-
https://console.aws.amazon.com/glue/
에서 AWS Glue 콘솔을 엽니다. -
탐색 창에서 Tables(테이블)을 선택합니다. 그런 다음 데이터 품질 규칙 권장 사항을 생성할 테이블을 선택합니다.
-
테이블 세부 정보 페이지에서 데이터 품질 탭을 선택하여 테이블의 AWS Glue Data Quality 규칙 및 설정에 액세스합니다.
-
데이터 품질 탭에서 규칙 추가 및 데이터 품질 모니터링을 선택합니다.
-
규칙 권장 사항이 실행되지 않는 경우 규칙 세트 빌더 페이지의 페이지 상단에 권장 작업을 시작하라는 경보가 표시됩니다.
-
권장 규칙을 선택하여 모달을 열고 권장 작업의 파라미터를 입력합니다.
-
AWS Glue에 액세스할 수 있는 IAM 역할을 선택합니다. 이 역할에는 다양한 AWS Glue 데이터 품질 프로세스를 대신 실행하는 데 필요한 리소스에 대한 액세스 권한을 부여해야 합니다.
-
기본 설정에 따라 필드를 작성한 후 권장 규칙을 선택하여 권장 작업 실행을 시작합니다. 권장 실행이 진행 중이거나 완료된 경우 이 알림에서 실행을 관리할 수 있습니다. 상태 변경을 보려면 알림을 새로 고쳐야 할 수 있습니다. 완료된 권장 작업 실행과 진행 중인 권장 작업 실행은 지난 90일 동안의 권장 사항 실행을 모두 나열하는 실행 기록 페이지에 표시됩니다.
권장 규칙의 의미
AWS Glue Data Quality는 입력 테이블의 각 열에 있는 데이터를 기반으로 규칙을 생성합니다. 그리고 규칙을 사용하여 품질 요구 사항을 유지하기 위해 데이터를 필터링할 수 있는 잠재적 경계를 식별합니다. 생성된 규칙의 다음 목록에는 규칙의 의미와 데이터에 적용할 때 규칙이 어떤 역할을 할 수 있는지 이해하는 데 유용한 예제가 포함되어 있습니다.
생성된 데이터 품질 정의 언어(DQDL) 규칙 유형의 전체 목록은 DQDL 규칙 유형 참조를 참조하세요.
-
IsComplete "SET_FINE_AMOUNT"
-IsComplete
규칙은 해당 행에 열이 채워졌는지 확인합니다. 이 규칙을 사용하여 데이터에서 열에 선택 사항이 아닌 항목으로 태그를 지정합니다. Uniqueness "TICKET_NUMBER" > 0.95
-Uniqueness
규칙은 열 내 데이터가 고유성 임곗값을 충족하는지 확인합니다. 이 예제에서는"TICKET_NUMBER"
에 대해 해당 행을 채우는 데이터가 나머지 모든 행의 콘텐츠와 최대 95% 동일하다고 확인되었으며, 이에 따라 이 규칙을 제안합니다.ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY",...]
-ColumnValues
규칙은 기존 열 콘텐츠를 기반으로 열의 유효한 값을 정의합니다. 이 예제에서 각 행의 데이터는 state 또는 province에 대한 2자리 라이선스 코드입니다.ColumnLength "INFRACTION_DESCRIPTION" between 15 and 31
- 이ColumnLength
규칙은 열 데이터에 길이 제한을 적용합니다. 이 규칙은 문자열 열에 기록된 최소 및 최대 길이를 기반으로 샘플 데이터에서 생성됩니다.
모니터링 규칙 권장 사항
데이터 품질 규칙 권장 작업이 실행 중이면 규칙 추가 및 데이터 품질 모니터링 페이지에 상단 표시줄에서 사용할 수 있는 정보와 추가 작업이 표시됩니다.
규칙 권장 작업이 진행 중인 경우 권장 작업이 완료되기 전에 실행 중지를 선택할 수 있습니다. 작업이 진행 중인 동안에는 진행 중 상태가 나타나고, 실행이 시작된 날짜 및 시간이 표시됩니다.
규칙 권장 작업이 완료되면 규칙 권장 사항 표시줄에 권장된 규칙 수, 마지막 권장 실행 상태, 완료 날짜 및 타임스탬프가 표시됩니다.
규칙 권장 사항 삽입을 선택하여 권장 규칙을 추가할 수 있습니다. 이전의 권장 규칙을 보려면 특정 날짜를 선택합니다. 새 권장 작업을 실행하려면 추가 작업을 선택하고 권장 규칙을 선택합니다.
사용자 설정 관리를 선택하여 기본 설정을 지정합니다. Amazon S3의 기본 경로를 설정하여 규칙 세트를 저장하거나 데이터 카탈로그를 실행하기 위한 기본 역할을 설정할 수 있습니다.
권장 규칙 세트 편집
AWS Glue Data Quality는 사용 가능한 기존 데이터를 기반으로 규칙을 생성하므로 자동 제안에서 예상치 못한 규칙 또는 바람직하지 않은 규칙이 표시될 수 있습니다. 권장 규칙 세트를 최대한 활용하려면 규칙 세트를 평가하고 수정해야 합니다. 자습서의 이 단계에서는 이전 단계에서 생성한 규칙을 가져와 이를 조정하여 일부 데이터에 더 제한적인 품질을 적용합니다. 또한 나중에 정확하고 고유한 데이터를 추가할 수 있도록 다른 규칙을 완화할 수도 있습니다.
제안된 규칙 세트 편집
AWS Glue 콘솔에서 데이터 카탈로그를 선택하고 탐색 창에서 데이터베이스 테이블을 선택합니다.
tickets
테이블을 선택합니다.-
테이블 세부 정보 페이지에서 데이터 품질 탭을 선택하여 테이블의 AWS Glue Data Quality 규칙 및 설정에 액세스합니다.
규칙 세트 섹션에서는 규칙 권장 사항 생성에서 생성된 규칙 세트를 선택합니다.
작업을 선택한 다음 콘솔 창에서 편집을 선택합니다. 규칙 세트 편집기가 콘솔에 로드됩니다. 여기에는 규칙을 위한 편집 창과 DQDL에 대한 빠른 참조가 포함되어 있습니다.
-
스크립트의
2
번째 줄을 제거합니다. 이렇게 하면 데이터베이스 크기를 특정 행 수로 제한해야 하는 요구 사항이 완화됩니다. 편집 후에는 파일의 1~3번째 줄에 다음을 포함해야 합니다.Rules = [ IsComplete "TAG_NUMBER_MASKED", ColumnLength "TAG_NUMBER_MASKED" between 6 and 9,
-
스크립트의
25
번째 줄을 제거합니다. 이렇게 하면 기록된 province의 96%가ON
이어야 한다는 요구 사항이 완화됩니다. 편집 후에는 파일의24
번째 줄부터 규칙 세트 끝까지 다음을 포함해야 합니다.ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY", "AZ", "NS", "BC", "MI", "PQ", "MB", "PA", "FL", "SK", "NJ", "OH", "NB", "IL", "MA", "CA", "VA", "TX", "NF", "MD", "PE", "CT", "NC", "GA", "IN", "OR", "MN", "TN", "WI", "KY", "MO", "WA", "NH", "SC", "CO", "OK", "VT", "RI", "ME", "AL", "YT", "IA", "DE", "AR", "LA", "XX", "WV", "MT", "KS", "NT", "DC", "NV", "NE", "UT", "MS", "NM", "ID", "SD", "ND", "AK", "NU", "GO", "WY", "HI"], ColumnLength "PROVINCE" = 2 ]
-
14
번째 줄을 다음과 같이 변경합니다.IsComplete "TIME_OF_INFRACTION",
이렇게 하면 데이터베이스를 기록된 위반 시간이 포함된 티켓으로만 제한함으로써 열의 요구 사항이 강화됩니다. 기록된 위반 시간이 없는 티켓은 항상 이 데이터 세트에서 유효하지 않은 데이터로 간주해야 합니다. 추가 데이터를 사용하거나 검사하여 품질 규칙을 결정하려고 할 때 파티셔닝 또는 변환이 더 적합한 경우와는 상황이 다릅니다.
콘솔 페이지 하단에서 규칙 세트 업데이트를 선택합니다.
새 규칙 세트 생성
규칙 세트는 데이터를 기준으로 평가하는 데이터 품질 규칙의 그룹입니다. AWS Glue 콘솔에서 데이터 품질 정의 언어(DQDL)를 사용하여 사용자 지정 규칙 세트를 작성할 수 있습니다.
데이터 품질 규칙 세트를 생성하려면
-
AWS Glue 콘솔에서 데이터 카탈로그를 선택하고 데이터베이스를 선택한 다음 탐색 창에서 테이블을 선택합니다.
tickets
테이블을 선택합니다. -
Data quality(데이터 품질) 탭을 엽니다.
-
규칙 섹션에서 규칙 생성을 선택합니다. DQDL 편집기가 콘솔에서 실행됩니다. 여기에는 직접 편집할 수 있는 텍스트 영역과 DQDL 규칙 및 테이블 스키마에 대한 빠른 참조가 포함되어 있습니다.
-
DQDL 편집기의 텍스트 영역에 규칙을 추가하기 시작합니다. 이 자습서에서 직접 규칙을 작성하거나 데이터 품질 규칙 편집기의 DQDL 규칙 빌더 기능을 사용할 수 있습니다.
참고
DQDL 규칙 빌더를 사용하는 방법
목록에서 규칙 유형을 선택하고 더하기 기호를 선택하여 편집기 창에 예제 구문을 삽입합니다.
자리 표시자 열 이름을 자신의 열 이름으로 변경합니다. 테이블의 열 이름은 스키마 탭에서 사용할 수 있습니다.
상황에 맞게 표현식 파라미터를 업데이트합니다. DQDL이 지원하는 전체 표현식 목록은 Expressions 섹션을 참조하세요.
예를 들어 다음 규칙은
tickets
테이블의ticket_number
열에 대한 데이터 검증과 관련된 제약 조건입니다. 다음 규칙을 추가하려면 DQDL 규칙 빌더를 사용하거나 규칙 세트를 직접 편집합니다.IsComplete "ticket_number", IsUnique "ticket_number", ColumnValues "ticket_number" > 9000000000
규칙 세트 이름 필드에 새 규칙 세트의 이름을 제공합니다.
규칙 세트 저장을 선택합니다.
여러 데이터 세트에서 데이터 품질 평가
ReferentialIntegrity 및 DatasetMatch 규칙 세트를 사용하여 여러 데이터 세트에서 데이터 품질 규칙을 설정할 수 있습니다. ReferentialIntegrity는 기본 데이터 세트의 데이터가 다른 데이터 세트에 있는지 검사합니다.
참조 데이터 세트를 추가하려면 스키마 탭을 선택한 다음 참조 테이블 업데이트를 선택합니다. 데이터베이스와 테이블을 선택하라는 메시지가 표시됩니다. 테이블을 추가한 다음 데이터 품질 규칙을 설정할 수 있습니다. AggregateMatch, RowCountMatch, ReferentialIntegrity, SchemaMatch 및 DatasetMatch와 같은 규칙 유형은 여러 데이터 세트에서 데이터 품질 검사를 수행하는 기능을 지원합니다.
규칙 세트를 실행하여 데이터 품질 평가
데이터 품질 작업을 실행할 때 AWS Glue 데이터 품질은 데이터를 기준으로 규칙 세트를 평가하고 데이터 품질 점수를 계산합니다. 이 점수는 입력에 대해 통과한 데이터 품질 규칙의 백분율을 나타냅니다.
데이터 품질 작업을 실행하려면
-
AWS Glue 콘솔에서 데이터 카탈로그를 선택하고 데이터베이스를 선택한 다음 탐색 창에서 테이블을 선택합니다.
tickets
테이블을 선택합니다. -
데이터 품질 탭을 선택합니다.
-
규칙 세트 목록에서 테이블을 기준으로 평가하려는 규칙 세트를 선택합니다. 이 단계에서는 생성된 규칙 대신 이미 작성했거나 수정한 규칙 세트를 사용하는 것이 좋습니다. Run(실행)을 선택합니다.
-
모달에서 IAM 역할을 선택합니다. 이 역할에는 다양한 AWS Glue 데이터 품질 프로세스를 대신 실행하는 데 필요한 리소스에 대한 액세스 권한을 부여해야 합니다. IAM 역할을 기본값으로 저장하거나 기본 설정 페이지로 이동하여 수정할 수 있습니다.
-
Data quality actions(데이터 품질 작업)에서 Publish metrics to Amazon CloudWatch(Amazon CloudWatch에 지표 게시) 여부를 선택합니다. 이 옵션을 선택하면 AWS Glue Data Quality는 통과한 규칙 수와 실패한 규칙 수를 나타내는 지표를 게시합니다. 이러한 방식으로 저장된 지표에 대해 작업을 수행하기 위해 CloudWatch 경보를 사용할 수 있습니다. 알림을 설정할 수 있도록 주요 지표도 Amazon EventBridge에 게시됩니다. 자세한 내용은 알림, 배포 및 예약 설정을 참조하세요.
-
실행 빈도에서 온디맨드로 실행을 선택하거나 규칙 세트를 예약합니다. 규칙 세트를 예약하면 작업 이름을 입력하라는 메시지가 표시됩니다. 예약은 Amazon EventBridge에서 생성됩니다. Amazon EventBridge에서 예약을 편집할 수 있습니다.
-
Amazon S3에 데이터 품질 결과를 저장하려면 데이터 품질 결과 위치를 선택합니다. 이 작업을 위해 이전에 선택한 IAM 역할에는 선택한 위치에 대한 쓰기 권한이 있어야 합니다.
-
추가 구성 아래에 AWS Glue에서 데이터 품질 작업에 할당할 요청된 작업자 수를 입력합니다.
-
선택적으로 데이터 소스에서 필터를 설정할 수 있습니다. 이렇게 하면 읽는 데이터가 줄어듭니다. 필터를 사용하여 파티션 정보를 선택하고 API 직접 호출을 통해 해당 정보를 파라미터로 전달하여 증분 검증을 실행할 수도 있습니다. 성능 개선을 위해 파티션 조건자를 제공할 수 있습니다.
-
실행을 선택합니다. Data quality task runs(데이터 품질 작업 실행) 목록에 새 작업이 표시됩니다. 작업의 실행 상태 열이 완료됨으로 표시되면 품질 점수 결과를 볼 수 있습니다. 상태를 올바르게 업데이트하려면 콘솔 창을 새로 고쳐야 할 수도 있습니다.
-
데이터 품질 결과 세부 정보 열을 보려면 '+' 아이콘을 선택하여 규칙 세트를 확장합니다. 결과에는 평가에서 통과한 규칙과 실패한 규칙, 그리고 규칙 실패의 원인이 표시됩니다.
데이터 품질 점수 및 결과 보기
생성된 모든 규칙 세트의 최신 실행을 보려면
-
AWS Glue 콘솔의 탐색 창에서 Tables(테이블)을 선택합니다. 그런 다음 데이터 품질 작업을 실행할 테이블을 선택합니다.
-
데이터 품질 탭을 선택합니다.
-
데이터 품질 스냅샷에서는 시간 경과에 따른 일반적인 실행 추세를 보여줍니다. 기본적으로 모든 규칙 세트에 대한 마지막 10개 실행이 표시됩니다. 규칙 세트별로 필터링하려면 드롭다운 목록에서 원하는 항목을 선택합니다. 실행이 10개 미만인 경우 사용 가능한 모든 완료된 실행이 표시됩니다.
-
데이터 품질 테이블에는 최근 실행 기록이 있는 각 규칙 세트(있는 경우)가 점수와 함께 표시됩니다. 규칙 세트를 확장하면 해당 규칙 세트에 있는 규칙과 해당 실행의 규칙 결과가 함께 표시됩니다.
특정 규칙 세트의 최신 실행을 보려면
-
AWS Glue 콘솔의 탐색 창에서 Tables(테이블)을 선택합니다. 그런 다음 데이터 품질 작업을 실행할 테이블을 선택합니다.
-
데이터 품질 탭을 선택합니다.
-
데이터 품질 테이블에서 특정 규칙 세트를 선택합니다.
-
규칙 세트 세부정보 페이지에서 실행 기록 탭을 선택합니다.
이 특정 규칙 세트에 대한 모든 평가 실행이 이 탭의 테이블에 나열됩니다. 점수 기록과 실행 상태를 볼 수 있습니다.
-
특정 실행에 대한 자세한 내용을 보려면 실행 ID를 선택하여 평가 실행 세부 정보 페이지로 이동합니다. 이 페이지에서는 실행에 대한 세부 정보와 개별 규칙 결과의 상태에 대한 자세한 내용을 볼 수 있습니다.