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 모델이 입력으로 수락하는 명명된 변수와 해당 데이터 형식을 지정합니다. 지정된 데이터 유형은 지원되는 Athena 데이터 형식이어야 합니다. - RETURNS
data_type
-
data_type
은ml_function_name
이 쿼리에 반환하는 SQL 데이터 형식을 SageMaker 모델의 출력으로 지정합니다. - SAGEMAKER '
sagemaker_endpoint
' -
sagemaker_endpoint
는 SageMaker 모델의 엔드포인트를 지정합니다. - SELECT [...]
ml_function_name
(expression
) [...] -
함수 변수 및 SageMaker 모델에 값을 전달하여 결과를 반환하는 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;