Come faccio a risolvere l'errore di sintassi "funzione non registrata" in Amazon Athena?

1 minuti di lettura
0

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

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa