Interrogazione utilizzando la sintassi delle query UDF - Amazon Athena

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

Interrogazione utilizzando la sintassi delle query UDF

La USING EXTERNAL FUNCTION clausola specifica una o più UDF a UDFs cui può fare riferimento 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

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)] [...]

Parametri

UTILIZZO DELLA FUNZIONE ESTERNA UDF_name (variable1data_type[, variable2data_type] [,...])

UDF_namespecifica 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_typeDeve essere uno dei tipi di dati Athena supportati elencati nella tabella seguente e deve essere mappato al tipo di dati Java corrispondente.

Tipo di dati Athena Tipo di dati Java

TIMESTAMP

java.time. LocalDateTime (UTC)

DATE

java.time. LocalDate (UTC)

TINYINT

java.lang.Byte

SMALLINT

java.lang.Short

REAL

java.lang.Float

DOUBLE

java.lang.Double

DECIMAL (vd. nota RETURNS)

java.matematica. BigDecimal

BIGINT

java.lang.Long

INTEGER

java.lang.Int

VARCHAR

java.lang.String

VARBINARY

byte[]

BOOLEAN

java.lang.Boolean

ARRAY

java.util.List

ROW

java.util.Map<String, Object>

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_functionspecifica il nome della funzione Lambda da richiamare durante l'esecuzione dell'UDF.

SELEZIONA [...] UDF_name(expression) [...]

L'SELECTinterrogazione che passa i valori all'UDF e restituisce un risultato. UDF_namespecifica 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

Per esempio, le query basate sul codice UDFHandlerAthena .java GitHub on, consulta la pagina del connettore Amazon GitHub Athena UDF.