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