Comment résoudre l'erreur de syntaxe « fonction non enregistrée » dans Amazon Athena ?

Lecture de 2 minute(s)
0

Lorsque j'exécute une opération SELECT dans Amazon Athena, j'obtiens une erreur de syntaxe « fonction non enregistrée ».

Résolution

Si vous essayez d'utiliser une fonction qui n'est pas prise en charge par Athéna, vous recevez un message d'erreur similaire à l'un des messages suivants :

  • « SYNTAX_ERROR : ligne 1:8 : Fonction_name non enregistrée »
  • « FUNCTION_NOT_FOUND : ligne 1:8 : La fonction 'function_name' n'est pas enregistrée »

Pour obtenir la liste des fonctions prises en charge par Athena, consultez la section Fonctions dans Amazon Athena. Ou, exécutez une instruction SHOW FUNCTIONS. Reportez-vous à l'exemple partiel de sortie suivant :

    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, écrivez 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. Un UDF accepte des paramètres, effectue un travail, puis renvoie un résultat. Pour obtenir des exemples et plus d'informations sur les UDF, consultez la section Exécution de requêtes à l'aide de fonctions définies par l'utilisateur.

Informations connexes

Connecteur UDF Amazon Athena (sur GitHub)

Connectez Amazon Athena à votre métastore Apache Hive et utilisez les fonctions définies par l'utilisateur

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an