AWS Glue Data Quality의 이상 탐지 - AWS Glue

AWS Glue Data Quality의 이상 탐지

엔지니어들은 수백 개의 데이터 파이프라인을 동시에 관리합니다. 각 파이프라인은 서로 다른 소스에서 데이터를 추출하여 데이터 레이크에 로드할 수 있습니다. 의사 결정을 위한 고품질 데이터를 제공하기 위해 데이터 품질 규칙을 설정합니다. 이러한 규칙은 현재 비즈니스 상태를 반영하는 고정된 기준에 따라 데이터를 평가합니다. 하지만 비즈니스 환경이 변화하면 데이터 속성이 변화하여 이러한 고정된 기준이 더 이상 맞지 않게 되고 데이터 품질이 저하됩니다.

예를 들어 한 소매업체의 데이터 엔지니어는 일일 매출이 임계값 100만 USD를 초과하는지 검증하는 규칙을 설정했습니다. 몇 달 후 일일 매출이 200만 USD를 넘어서면서 이 임계값은 무용지물이 되었습니다. 알림이 부족하고 규칙을 수동으로 분석하고 업데이트하기가 복잡하고 번거로워, 데이터 엔지니어가 최신 임계값을 반영하도록 규칙을 업데이트할 수 없었습니다. 이달 말, 비즈니스 사용자들은 매출이 25%나 감소한 것을 확인했습니다. 몇 시간에 걸친 조사 끝에 데이터 엔지니어들은 일부 매장에서 데이터를 추출하는 ETL 파이프라인이 오류를 발생시키지 않고 실패했다는 사실을 발견했습니다. 임계값이 오래된 규칙은 이 문제를 발견하지 못한 채 계속 정상적으로 작동했습니다.

또는 이러한 이상 현상을 탐지할 수 있는 사전 예방적 알림을 통해 사용자가 이 문제를 탐지할 수 있었을 수도 있습니다. 게다가 비즈니스의 계절성을 추적하면 심각한 데이터 품질 문제를 쉽게 찾아낼 수 있습니다. 예를 들어 소매 판매는 주말과 휴일에 가장 높지만 평일에는 상대적으로 낮을 수 있습니다. 이 패턴과 다를 경우 데이터 품질에 문제가 있거나 비즈니스 상황이 바뀐 것일 수 있습니다. 데이터 품질 규칙으로는 계절적 패턴을 탐지할 수 없습니다. 이를 위해서는 과거 패턴을 학습하여 계절적 변동을 포착함으로써 편차를 탐지할 수 있는 고급 알고리즘이 필요하기 때문입니다.

마지막으로, 규칙 생성 프로세스의 기술적 특성과 규칙 작성에 소요되는 시간 때문에 사용자가 규칙을 생성하고 유지 관리하기가 어렵습니다. 따라서 사용자들은 규칙을 정의하기 전에 먼저 데이터 인사이트를 탐색하는 것을 선호합니다. 고객들은 이상을 쉽게 찾아내 데이터 품질 문제를 사전에 탐지하고 리스크 없이 비즈니스 의사 결정을 내릴 수 있는 기능을 필요로 합니다.

작동 방식

참고

이상 탐지는 AWS Glue ETL에서만 지원됩니다. 데이터 카탈로그 기반 데이터 품질 솔루션에서는 지원되지 않습니다.

데이터 품질 이상 탐지 프로세스를 보여주는 스크린샷.

AWS Glue Data Quality는 규칙 기반 데이터 품질의 성능과 이상 탐지 기능을 결합하여 고품질 데이터를 제공합니다. 시작하려면 먼저 규칙과 분석기를 구성한 후 이상 탐지를 활성화해야 합니다.

규칙

규칙 - 규칙은 데이터 품질 정의 언어(DQDL)라는 개방형 언어로 데이터에 대한 기대치를 표현합니다. 아래에 규칙의 예가 나와 있습니다. 이 규칙은 `presger_count` 열에 빈 값이나 NULL 값이 없을 때 통과합니다.

Rules = [ IsComplete "passenger_count" ]

분석기

중요 열을 알고 있지만 데이터를 잘 몰라 특정 규칙을 작성할 수 없는 경우, 분석기를 사용하여 해당 열을 모니터링할 수 있습니다. 분석기는 명시적인 규칙을 정의하지 않고도 데이터 통계를 수집할 수 있는 방법입니다. 다음 이미지는 분석기 구성 예를 보여줍니다.

Analyzers = [ AllStatistics "fare_amount", DistinctValuesCount "pulocationid", RowCount ]

이 예에서는 세 개의 분석기가 구성되어 있습니다.

  1. 첫 번째 분석기인 `AllStatistics “fare_amount”`는 `fare_amount `필드에 사용 가능한 모든 통계를 캡처합니다.

  2. 두 번째 분석기인 `DistinctValuesCount “pulocationid”`는 `pulocationid` 열에 있는 고유 값의 개수를 캡처합니다.

  3. 세 번째 분석기인 'RowCount'는 데이터 세트의 총 레코드 수를 캡처합니다.

분석기는 복잡한 규칙을 지정하지 않고도 관련 데이터 통계를 수집할 수 있는 간단한 방법입니다. 이러한 통계를 모니터링하면 데이터 품질에 대한 인사이트를 얻고 추가 조사를 실시하거나 특정 규칙을 생성해야 하는 잠재적 문제 또는 이상을 식별할 수 있습니다.

데이터 통계

AWS Glue Data Quality의 분석기와 규칙은 모두 데이터 프로필이라고도 하는 데이터 통계를 수집합니다. 이러한 통계는 데이터의 특성과 품질에 대한 인사이트를 제공합니다. 수집된 통계는 시간이 지남에 따라 AWS Glue 서비스에 저장되므로 데이터 프로필의 변경 사항을 추적하고 분석할 수 있습니다.

적절한 API를 호출하여 이러한 통계를 쉽게 검색하고 추가 분석 또는 장기 보관용으로 Amazon S3에 기록할 수 있습니다. 이 기능을 사용하면 데이터 프로파일링을 데이터 처리 워크플로에 통합하고 수집된 통계를 데이터 품질 모니터링, 이상 탐지 등의 다양한 목적으로 활용할 수 있습니다.

Amazon S3에 데이터 프로필을 저장하면 Amazon 객체 스토리지 서비스의 확장성, 내구성 및 비용 효율성을 활용할 수 있습니다. 또한 다른 AWS 서비스 또는 서드 파티 도구를 활용하여 데이터 프로필을 분석 및 시각화할 수 있으므로, 데이터 품질에 대한 심층적인 인사이트를 얻고 데이터 관리 및 거버넌스와 관련하여 정보에 입각한 결정을 내릴 수 있습니다.

다음은 시간 경과에 따라 저장되는 데이터 통계의 예입니다.

이 스크린샷은 시간 경과에 따른 데이터 품질 통계의 선형 그래프를 보여줍니다.
참고

AWS Glue Data Quality는 동일한 열에 규칙분석기를 모두 사용하는 경우에도 통계를 한 번만 수집하므로 통계 생성 프로세스가 효율적입니다.

이상 탐지

AWS Glue Data Quality가 이상 현상을 탐지하는 데에는 최소 3개의 데이터 포인트가 필요합니다. 기계 학습 알고리즘을 활용하여 과거 추세를 학습한 다음 미래 값을 예측합니다. 실제 값이 예측 범위 안에 있지 않은 경우 AWS Glue Data Quality는 이상 관찰 항목을 생성합니다. 실제 값과 추세를 시각적으로 보여줍니다. 아래 그래프에는 네 가지 값이 표시됩니다.

이 스크린샷은 시간 경과에 따른 데이터 품질 이상 탐지의 선형 그래프를 보여줍니다.
  1. 실제 통계 및 시간 경과에 따른 추세입니다.

  2. 실제 추세를 학습하여 도출된 추세입니다. 추세 방향을 파악하는 데 유용합니다.

  3. 통계의 가능한 상한입니다.

  4. 통계의 가능한 하한입니다.

  5. 향후 이러한 문제를 탐지할 수 있는 권장 데이터 품질 규칙입니다.

이상과 관련하여 유의해야 할 몇 가지 중요한 사항이 있습니다.

  • 이상이 생성되어도 데이터 품질 점수는 영향을 받지 않습니다.

  • 이상이 탐지되면 후속 실행에서는 정상으로 간주됩니다. 명시적으로 제외하지 않는 한, 기계 학습 알고리즘은 이 이상 값을 입력으로 간주합니다.

재훈련

이상을 정확하게 탐지하려면 이상 탐지 모델을 재훈련하는 것이 중요합니다. 이상이 탐지되면 AWS Glue Data Quality는 모델의 이상 항목을 정상 값으로 포함합니다. 이상 탐지가 정확하게 작동하도록 하려면 이상 항목을 승인하거나 거부하여 피드백을 제공하는 것이 중요합니다. AWS Glue Data Quality는 AWS Glue Studio와 API 모두에서 모델에 피드백을 제공하는 메커니즘을 제공합니다. 자세한 내용은 AWS Glue ETL 파이프라인에서 이상 탐지를 설정하는 방법에 대한 설명서를 참조하세요.

이상 탐지 알고리즘의 세부 정보

  • 이상 탐지 알고리즘은 시간 경과에 따른 데이터 통계를 조사합니다. 이 알고리즘은 사용 가능한 모든 데이터 포인트를 고려하고 명시적으로 제외된 통계는 무시합니다.

  • 이러한 데이터 통계는 AWS Glue 서비스에 저장되며, 이를 암호화하기 위한 AWS KMS 키를 제공할 수 있습니다. AWS Glue Data Quality 통계를 암호화하기 위한 AWS KMS 키를 제공하는 방법은 보안 가이드를 참조하세요.

  • 시간 구성 요소는 이상 탐지 알고리즘에 매우 중요합니다. AWS Glue Data Quality는 과거 값을 기반으로 상한과 하한을 결정합니다. 이 결정 과정에서 시간 구성 요소를 고려합니다. 1분 간격, 1시간 간격 또는 하루 간격으로 값이 같아도 한도가 달라집니다.

계절성 캡처

AWS Glue Data Quality의 이상 탐지 알고리즘은 계절적 패턴을 캡처할 수 있습니다. 예를 들어 평일 패턴이 주말 패턴과 다르다는 것을 이해할 수 있습니다. 이는 AWS Glue Data Quality가 데이터 값의 계절적 추세를 탐지하는 아래 예에서 확인할 수 있습니다. 이 기능을 활성화하는 데 별도의 조치가 필요하지 않습니다. AWS Glue Data Quality는 시간 경과에 따라 계절적 추세를 학습하고 이러한 패턴을 벗어나면 이상을 탐지합니다.

이 스크린샷에는 계절적 추세를 캡처할 때 발생하는 이상을 보여주는 데이터가 포함된 데이터 품질 탭이 나와 있습니다.

비용

이상을 탐지하는 데 걸리는 시간을 기준으로 요금이 부과됩니다. 모든 통계에는 이상을 탐지하는 데 소요되는 시간을 기준으로 1 DPU의 요금이 부과됩니다. 자세한 예는 AWS Glue 요금을 참조하세요.

주요 고려 사항

통계를 저장하는 데에는 요금이 발생하지 않습니다. 단, 계정당 통계는 10만 건으로 제한됩니다. 이러한 통계는 최대 2년간 저장됩니다.