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 uno UDF o più elementi a UDFs cui può fare riferimento un'SELECTistruzione successiva nella query. È necessario il nome del metodo UDF e il nome della funzione Lambda che ospita il. UDF Al posto del nome della funzione Lambda, puoi usare Lambda. ARN Negli scenari con più account, è richiesta la 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

USING EXTERNAL FUNCTION UDF_name(variable1 data_type[, variable2 data_type][,...])

UDF_name specifica il nome diUDF, 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 UDF accetta come input. Il 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.

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(vedi RETURNS nota)

java.math. 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>

RETURNS data_type

data_typespecifica il tipo di SQL dati che UDF restituisce come output. I tipi di dati Athena elencati nella tabella precedente sono supportati. Per il tipo di DECIMAL dati, usa la sintassi dove RETURNS DECIMAL(precision, scale) precision e scale sono numeri interi.

LAMBDA 'lambda_function'

lambda_function specifica il nome della funzione Lambda da richiamare durante l'esecuzione di. UDF

SELECT [...] UDF_name(expression) [...]

La SELECT query che passa i valori a UDF e restituisce un risultato. UDF_name specifica il metodo UDF da utilizzare, seguito da un expression che viene valutato per passare valori. I valori passati e restituiti devono corrispondere ai tipi di dati corrispondenti specificati UDF nella USING EXTERNAL FUNCTION clausola.

Esempi

Per esempio, le query basate sul codice A thenaUDFHandler .java su GitHub, consulta la pagina del connettore Amazon GitHub UDF Athena.