

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du ML avec la syntaxe Athena
<a name="ml-syntax"></a>

La clause `USING EXTERNAL FUNCTION` spécifie une fonction ML avec Athena ou plusieurs fonctions qui peuvent être référencées par une instruction `SELECT` ultérieure dans la requête. Vous définissez le nom de la fonction, les noms de variables et les types de données des variables et des valeurs de retour.

## Résumé
<a name="ml-synopsis"></a>

La syntaxe suivante montre une `USING EXTERNAL FUNCTION` clause qui spécifie une fonction ML avec Athena.

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

## Parameters
<a name="udf-parameters"></a>

**UTILISATION D'UNE FONCTION EXTERNE *ml\$1function\$1name* (*variable1**data\$1type*[, *variable2**data\$1type*] [,...])**  
*ml\$1function\$1name*définit le nom de la fonction, qui peut être utilisé dans les clauses de requête suivantes. Chacune *variable data\$1type* spécifie une variable nommée et le type de données correspondant que le modèle d' SageMaker IA accepte comme entrée. Le type de données spécifié doit être un type de données Athena pris en charge.

**RETOURS *data\$1type***  
*data\$1type*spécifie le type de données SQL qui *ml\$1function\$1name* renvoie à la requête en tant que sortie du modèle d' SageMaker IA.

**SAGEMAKER « » *sagemaker\$1endpoint***  
*sagemaker\$1endpoint*spécifie le point final du modèle d' SageMaker IA.

**SÉLECTIONNEZ [...] *ml\$1function\$1name*(*expression*) [...]**  
La requête SELECT qui transmet des valeurs aux variables de fonction et au modèle d' SageMaker IA pour renvoyer un résultat. *ml\$1function\$1name*spécifie la fonction définie précédemment dans la requête, suivie d'une *expression* fonction évaluée pour transmettre des valeurs. Les valeurs transmises et renvoyées doivent correspondre aux types de données correspondants spécifiés pour la fonction dans la clause `USING EXTERNAL FUNCTION`.

## Exemple
<a name="ml-examples"></a>

L'exemple suivant illustre une requête utilisant ML avec Athena.

**Example**  

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