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
(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. Ciascunovariable 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.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 diDECIMAL
dati, usa la sintassiRETURNS DECIMAL(
whereprecision
,scale
)precision
escale
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 unaexpression
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 clausolaUSING EXTERNAL FUNCTION
.
Esempi
Per esempio, le query basate sul codice UDFHandlerAthena