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 avec fonctions définies par l'utilisateur
Les fonctions définies par l'utilisateur (UDF) dans Amazon Athena vous permettent de créer des fonctions personnalisées pour traiter des enregistrements ou des groupes d'enregistrements. A UDF accepte les paramètres, exécute le travail, puis renvoie un résultat.
Pour utiliser un UDF dans Athena, vous devez écrire une USING EXTERNAL FUNCTION
clause avant une SELECT
instruction dans une SQL requête. L'SELECT
instruction fait référence au UDF et définit les variables qui sont transmises au UDF moment de l'exécution de la requête. La SQL requête invoque une fonction Lambda à l'aide du moteur d'exécution Java lorsqu'elle appelle le. UDF UDFssont définies dans la fonction Lambda en tant que méthodes dans un package de déploiement Java. Plusieurs UDFs peuvent être définis dans le même package de déploiement Java pour une fonction Lambda. Vous spécifiez également le nom de la fonction Lambda dans la clause USING EXTERNAL FUNCTION
.
Deux options s'offrent à vous pour déployer une fonction Lambda pour Athena. UDFs Vous pouvez déployer la fonction directement en utilisant Lambda, ou vous pouvez utiliser le AWS Serverless Application Repository. Pour trouver les fonctions Lambda existantes pourUDFs, vous pouvez effectuer une recherche dans le référentiel public AWS Serverless Application Repository ou privé, puis les déployer sur Lambda. Vous pouvez également créer ou modifier le code source Java, le regrouper dans un JAR fichier et le déployer à l'aide de Lambda ou du. AWS Serverless Application Repository Pour des exemples de code source Java et de packages pour vous aider à démarrer, voir Créez et déployez un à UDF l'aide de Lambda. Pour plus d'informations sur Lambda, consultez le Guide du développeur AWS Lambda. Pour plus d'informations AWS Serverless Application Repository, consultez le guide du AWS Serverless Application Repository développeur.
Pour un exemple d'utilisation UDFs avec Athena pour traduire et analyser du texte, consultez l'article du blog AWS Machine Learning Translate and analysis text using SQL functions with Amazon Athena, Amazon Translate et Amazon Comprehend
Pour un exemple d'utilisation UDFs pour étendre les requêtes géospatiales dans Amazon Athena, consultez la section Étendre les requêtes géospatiales dans Amazon Athena UDFs avec AWS Lambda