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'SELECT
istruzione 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. Ciascunovariable data_type
specifica una variabile denominata e il tipo di dati corrispondente che UDF accetta come input. Ildata_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_type
specifica il tipo di SQL dati che UDF restituisce come output. I tipi di dati Athena elencati nella tabella precedente sono supportati. Per il tipo diDECIMAL
dati, usa la sintassi doveRETURNS DECIMAL(
precision
,scale
)precision
escale
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 unexpression
che viene valutato per passare valori. I valori passati e restituiti devono corrispondere ai tipi di dati corrispondenti specificati UDF nellaUSING EXTERNAL FUNCTION
clausola.
Esempi
Per esempio, le query basate sul codice A thenaUDFHandler .java