

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzare ML con sintassi Athena
<a name="ml-syntax"></a>

La clausola `USING EXTERNAL FUNCTION` specifica un ML con funzione o più funzioni Athena a cui è possibile fare riferimento da un'istruzione `SELECT` successiva nella query. Definire il nome della funzione, i nomi delle variabili e i tipi di dati per le variabili e i valori restituiti.

## Riepilogo
<a name="ml-synopsis"></a>

La seguente sintassi mostra una clausola `USING EXTERNAL FUNCTION` che specifica un ML con funzione 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>

**UTILIZZO DI UNA FUNZIONE ESTERNA {{ml\_function\_name}} ({{variable1}}{{data\_type}}[, {{variable2}}{{data\_type}}] [,...])**  
{{ml\_function\_name}}definisce il nome della funzione, che può essere utilizzato nelle clausole di interrogazione successive. Ciascuno {{variable data\_type}} specifica una variabile denominata e il tipo di dati corrispondente che il modello SageMaker AI accetta come input. Il tipo di dati specificato deve essere un tipo di dati Athena supportato.

**RESTITUISCE {{data\_type}}**  
{{data\_type}}specifica il tipo di dati SQL che {{ml\_function\_name}} restituisce la query come output dal modello SageMaker AI.

**SAGEMAKER '' {{sagemaker\_endpoint}}**  
{{sagemaker\_endpoint}}specifica l'endpoint del modello di intelligenza artificiale. SageMaker 

**SELEZIONA [...] {{ml\_function\_name}}({{expression}}) [...]**  
La query SELECT che passa i valori alle variabili di funzione e il modello SageMaker AI per restituire un risultato. {{ml\_function\_name}}specifica la funzione definita in precedenza nella query, seguita da una {{expression}} che viene valutata per passare valori. I valori passati e restituiti devono corrispondere ai tipi di dati corrispondenti specificati per la funzione nella clausola `USING EXTERNAL FUNCTION`.

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

Nell'esempio seguente viene illustrata una query mediante ML con 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;
```