Requête utilisant la syntaxe de requête UDF - Amazon Athena

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.

Requête utilisant la syntaxe de requête UDF

La USING EXTERNAL FUNCTION clause spécifie un UDF ou un multiple UDFs qui peut être référencé par une SELECT instruction ultérieure dans la requête. Vous avez besoin du nom de la méthode de l'UDF et du nom de la fonction Lambda qui héberge l'UDF. À la place du nom de la fonction Lambda, vous pouvez utiliser l'ARN Lambda. Dans les scénarios entre comptes, l'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

UTILISATION D'UNE FONCTION EXTERNE UDF_name (variable1data_type[, variable2data_type] [,...])

UDF_namespécifie le nom de l'UDF, qui doit correspondre à une méthode Java au sein de la fonction Lambda référencée. Chacune variable data_type spécifie une variable nommée et le type de données correspondant que l'UDF accepte en entrée. data_typeIl 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 la note RETURNS)

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>

RETOURS data_type

data_type spécifie le type de données SQL que l'UDF renvoie en sortie. Les types de données Athena répertoriés dans le tableau ci-dessus sont pris en charge. Pour le type de DECIMAL données, utilisez la syntaxe RETURNS DECIMAL(precision, scale)precision et scale sont des entiers.

LAMBDA « » lambda_function

lambda_functionspécifie le nom de la fonction Lambda à invoquer lors de l'exécution de l'UDF.

SÉLECTIONNEZ [...] UDF_name(expression) [...]

SELECTRequête qui transmet des valeurs à l'UDF et renvoie un résultat. UDF_nameindique l'UDF à utiliser, suivi d'un expression UDF évalué pour transmettre des valeurs. Les valeurs transmises et renvoyées doivent correspondre aux types de données correspondants spécifiés pour l'UDF dans la clause USING EXTERNAL FUNCTION.

Exemples

Pour des exemples de requêtes basées sur le code Athena UDFHandler .java activé GitHub, consultez la page du connecteur GitHub Amazon Athena UDF.