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 모델이 입력으로 수락하는 명명된 변수와 해당 데이터 형식을 지정합니다. 지정된 데이터 유형은 지원되는 Athena 데이터 형식이어야 합니다.

RETURNS data_type

data_typeml_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;