View a markdown version of this page

ML with Athena 구문 사용 - Amazon Athena

ML with Athena 구문 사용

USING EXTERNAL FUNCTION 절은 쿼리의 후속 SELECT 문에서 참조할 수 있는 ML with Athena 함수 또는 여러 함수를 지정합니다. 변수 및 반환 값에 대한 함수 이름, 변수 이름 및 데이터 유형을 정의합니다.

시놉시스

다음 구문은 ML with Athena 함수를 지정하는 USING EXTERNAL FUNCTION 절을 보여줍니다.

USING EXTERNAL FUNCTION ml_function_name (variable1 data_type[, variable2 data_type][,...]) RETURNS data_type SAGEMAKER 'sagemaker_endpoint' SELECT ml_function_name()

파라미터

USING EXTERNAL FUNCTION ml_function_name (variable1 data_type[, variable2 data_type][,...])

ml_function_name은 후속 쿼리 절에서 사용할 수 있는 함수 이름을 정의합니다. 각 variable data_type은 SageMaker AI 모델이 입력으로 수락하는 명명된 변수와 해당 데이터 형식을 지정합니다. 지정된 데이터 유형은 지원되는 Athena 데이터 형식이어야 합니다.

RETURNS data_type

data_type은 ml_function_name이 쿼리에 반환하는 SQL 데이터 형식을 SageMaker AI 모델의 출력으로 지정합니다.

SAGEMAKER 'sagemaker_endpoint'

sagemaker_endpoint는 SageMaker AI 모델의 엔드포인트를 지정합니다.

SELECT [...] ml_function_name(expression) [...]

함수 변수 및 SageMaker AI 모델에 값을 전달하여 결과를 반환하는 SELECT 쿼리입니다. ml_function_name은 쿼리에서 이전에 정의된 함수를 지정한 후 값을 전달하기 위해 평가되는 expression을 지정합니다. 전달되고 반환되는 값은 USING EXTERNAL FUNCTION 절의 함수에 대해 지정된 해당 데이터 유형과 일치해야 합니다.

예제

다음의 예제는 ML with Athena를 사용하는 쿼리를 보여줍니다.

예
USING EXTERNAL FUNCTION predict_customer_registration(age INTEGER) RETURNS DOUBLE SAGEMAKER 'xgboost-2019-09-20-04-49-29-303' SELECT predict_customer_registration(age) AS probability_of_enrolling, customer_id FROM "sampledb"."ml_test_dataset" WHERE predict_customer_registration(age) < 0.5;