Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
La USING EXTERNAL FUNCTION
clause spécifie un UDF ou plusieurs UDFs éléments qui peuvent être référencés par une SELECT
instruction ultérieure dans la requête. Vous avez besoin du nom de méthode UDF et du nom de la fonction Lambda qui héberge le. UDF À la place du nom de la fonction Lambda, vous pouvez utiliser le Lambda. ARN Dans les scénarios entre comptes, le ARN Lambda est requis.
Résumé
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
)] [...]
Paramètres
- USING EXTERNAL FUNCTION
UDF_name
(variable1
data_type
[,variable2
data_type
][,...]) -
UDF_name
spécifie le nom duUDF, qui doit correspondre à une méthode Java dans la fonction Lambda référencée. Chacunevariable data_type
spécifie une variable nommée et le type de données correspondant qu'elle UDF accepte en entrée.data_type
Il doit s'agir de l'un des types de données Athena pris en charge répertoriés dans le tableau suivant et correspondre au type de données Java correspondant.Type de données Athena Type de données 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(voir
RETURNS
note)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
indique le type de SQL données UDF renvoyé en sortie. Les types de données Athena répertoriés dans le tableau ci-dessus sont pris en charge. Pour le type deDECIMAL
données, utilisez la syntaxeRETURNS DECIMAL(
oùprecision
,scale
)precision
etscale
sont des entiers. - LAMBDA '
lambda_function
' -
lambda_function
spécifie le nom de la fonction Lambda à invoquer lors de l'exécution du. UDF - SELECT [...]
UDF_name
(expression
) [...] -
SELECT
Requête qui transmet des valeurs à UDF et renvoie un résultat.UDF_name
spécifie le UDF à utiliser, suivi d'unexpression
qui est évalué pour transmettre des valeurs. Les valeurs transmises et renvoyées doivent correspondre aux types de données correspondants spécifiés UDF dans laUSING EXTERNAL FUNCTION
clause.
Exemples
Pour des exemples de requêtes basées sur le code A thenaUDFHandler .java