Comment résoudre l'erreur syntaxique "function not registered" dans Amazon Athena ?

Dernière mise à jour :22/11/2021

Lorsque j'exécute une opération SELECT dans Amazon Athena, un message d'erreur similaire au suivant s'affiche :

« SYNTAX_ERROR: line 1:8: Function function_name not registered ».

Solution

Vous obtenez généralement cette erreur lorsque vous essayez d'utiliser une fonction qu'Athena ne prend pas en charge. Pour obtenir la liste des fonctions prises en charge par Athena, consultez Fonctions Presto dans Amazon Athena. Vous pouvez également exécuter une instruction SHOW FUNCTIONS. Voici un exemple partiel de la sortie :

    Function   Return Type     Argument Types   Function Type   Deterministic   Description
1    abs        bigint          bigint           scalar          true            absolute value
2    abs        decimal(p,s)    decimal(p,s)     scalar          true            absolute value
3    abs        double          double

Si Athena ne prend pas en charge la fonction que vous souhaitez utiliser, pensez à écrire une fonction définie par l'utilisateur (UDF) dans Athena. Les UDF vous permettent de créer des fonctions personnalisées pour traiter des enregistrements ou des groupes d'enregistrements. Une fonction UDF accepte les paramètres, effectue la tâche, puis renvoie un résultat. Pour obtenir des exemples et plus d'informations sur les fonctions définies par l'utilisateur, consultez Interrogation avec les fonctions définies par l'utilisateur.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?