Quando eseguo un'operazione SELECT in Amazon Athena, ricevo un errore di sintassi "funzione non registrata".
Risoluzione
Se provi a utilizzare una funzione che Athena non supporta, riceverai un errore simile a uno dei seguenti messaggi:
- "SYNTAX_ERROR: riga 1:8: Funzione function_name non registrata"
- "FUNCTION_NOT_FOUND: riga 1:8: Funzione "function_name" non registrata"
Per un elenco delle funzioni supportate da Athena, consulta Funzioni in Amazon Athena. Oppure, esegui una dichiarazione SHOW FUNCTIONS. Vedi il seguente esempio parziale dell'output:
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
Se Athena non supporta la funzione che desideri utilizzare, scrivi una funzione definita dall'utente (UDF) in Athena. Le UDF consentono di creare funzioni personalizzate per elaborare record o gruppi di record. Una UDF accetta parametri, esegue un lavoro e quindi restituisce un risultato. Per esempi e ulteriori informazioni sulle UDF, consulta Query con funzioni definite dall'utente.
Informazioni correlate
Connettore UDF Amazon Athena (su GitHub)
Collega Amazon Athena al tuo metastore Apache Hive e usa le funzioni definite dall'utente