USING EXTERNAL FUNCTION
句は、クエリ内の後続の SELECT
ステートメントで参照できる 1 つの 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
は、SageMaker AI モデルからの出力としてml_function_name
がクエリに返す SQL データ型を指定します。 - 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;