Machine Learning (ML) with Amazon Athena 사용
Machine Learning(ML) with Amazon Athena를 통해 사용자는 Athena에서 Amazon SageMaker를 사용해 기계 학습(ML) 추론을 실행하는 SQL 문을 작성할 수 있습니다. 이 기능은 데이터 분석을 위해 ML 모델에 대한 액세스를 간소화하므로 추론을 실행하기 위해 복잡한 프로그래밍 방법을 사용할 필요가 없습니다.
ML with Athena를 사용하려면 USING EXTERNAL
FUNCTION
절로 ML with Athena 함수를 정의합니다. 함수는 사용하려는 SageMaker 모델 엔드포인트를 가리키고 모델에 전달할 변수 이름과 데이터 유형을 지정합니다. 쿼리의 후속 절은 함수를 참조하여 값을 모델에 전달합니다. 모델은 쿼리가 전달하는 값을 기반으로 추론을 실행한 다음 추론 결과를 반환합니다. SageMaker와 SageMaker 엔드포인트의 작동 방식에 대한 자세한 내용은 Amazon SageMaker 개발자 안내서를 참조하세요.
ML with Athena 및 SageMaker 추론을 사용하여 결과 집합에서 이상값을 감지하는 예제는 AWS Big Data Blog(빅 데이터 블로그) 항목 Detecting anomalous values by invoking the Amazon Athena machine learning inference function
고려 사항 및 제한
-
사용 가능한 리전 - Athena ML 기능은 Athena 엔진 버전 2 이상이 지원되는 AWS 리전에서 제공됩니다.
-
SageMaker 모델 엔드포인트가
text/csv
를 수락하고 반환해야 함 - 데이터 형식에 대한 자세한 내용은 Amazon SageMaker 개발자 안내서의 추론을 위한 공통 데이터 형식을 참조하세요. -
Athena는 CSV 헤더를 전송하지 않음 - SageMaker 엔드포인트가
text/csv
인 경우 입력 핸들러는 입력의 첫 번째 줄이 CSV 헤더라고 가정해서는 안 됩니다. Athena는 CSV 헤더를 전송하지 않으므로 Athena로 반환되는 출력에는 Athena가 예상한 것보다 포함된 행이 하나 적어서 오류가 발생합니다. -
SageMaker 엔드포인트 확장 – 참조된 SageMaker 모델 엔드포인트가 엔드포인트에 대한 Athena 호출을 위해 충분히 확장되었는지 확인합니다. 자세한 내용은 Amazon SageMaker 개발자 안내서의 SageMaker 모델 자동 크기 조정 및 Amazon SageMaker API 참조의 CreateEndpointConfig를 참조하세요.
-
IAM 권한 - ML with Athena 함수를 지정하는 쿼리를 실행하려면 쿼리를 실행하는 IAM 보안 주체가 참조된 SageMaker 모델 엔드포인트에 대한
sagemaker:InvokeEndpoint
작업을 수행할 수 있어야 합니다. 자세한 내용은 Athena를 통한 ML에 액세스 허용 단원을 참조하세요. -
ML with Athena 함수는
GROUP BY
절에서 직접 사용할 수 없습니다.