

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à.

# Eseguire query utilizzando la sintassi query UDF
<a name="udf-query-syntax"></a>

La `USING EXTERNAL FUNCTION` clausola specifica una o più UDF a UDFs cui è possibile fare riferimento da un'istruzione successiva nella query. `SELECT` È necessario il nome del metodo per la funzione definita dall'utente e il nome della funzione Lambda che ospita la funzione definita dall'utente. Al posto del nome della funzione Lambda, puoi utilizzare l'ARN Lambda. Negli scenari con più account, è necessario l'utilizzo dell'ARN Lambda.

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

```
USING EXTERNAL FUNCTION {{UDF_name}}({{variable1}} {{data_type}}[, {{variable2}} {{data_type}}][,...])
RETURNS {{data_type}}
LAMBDA '{{lambda_function_name_or_ARN}}'
[, EXTERNAL FUNCTION {{UDF_name2}}({{variable1}} {{data_type}}[, {{variable2}} {{data_type}}][,...]) 
RETURNS {{data_type}} 
LAMBDA '{{lambda_function_name_or_ARN}}'[,...]]
SELECT  [...] {{UDF_name}}({{expression}}) [, {{UDF_name2}}({{expression}})] [...]
```

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

**UTILIZZO DELLA FUNZIONE ESTERNA {{UDF\_name}} ({{variable1}}{{data\_type}}[, {{variable2}}{{data\_type}}] [,...])**  
{{UDF\_name}}specifica il nome dell'UDF, che deve corrispondere a un metodo Java all'interno della funzione Lambda di riferimento. Ciascuno {{variable data\_type}} specifica una variabile denominata e il tipo di dati corrispondente che l'UDF accetta come input. {{data\_type}}Deve essere uno dei tipi di dati Athena supportati elencati nella tabella seguente e deve essere mappato al tipo di dati Java corrispondente.      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/athena/latest/ug/udf-query-syntax.html)

**RESTITUZIONI {{data\_type}}**  
`data_type` specifica il tipo di dati SQL restituito dall'UDF come output. I tipi di dati Athena elencati nella tabella precedente sono supportati. Per il tipo di `DECIMAL` dati, usa la sintassi `RETURNS DECIMAL({{precision}}, {{scale}})` where {{precision}} e {{scale}} sono numeri interi.

**LAMBDA '' {{lambda\_function}}**  
{{lambda\_function}}specifica il nome della funzione Lambda da richiamare durante l'esecuzione dell'UDF.

**SELEZIONA [...] {{UDF\_name}}({{expression}}) [...]**  
L'`SELECT`interrogazione che passa i valori all'UDF e restituisce un risultato. {{UDF\_name}}specifica l'UDF da utilizzare, 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 definita dall'utente nella clausola `USING EXTERNAL FUNCTION`.

### Esempi
<a name="udf-examples"></a>

Per esempio, le query basate sul codice [UDFHandlerAthena](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-udfs/src/main/java/com/amazonaws/athena/connectors/udfs/AthenaUDFHandler.java) .java GitHub on, consulta la pagina del connettore Amazon GitHub [Athena UDF](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-udfs). 