Eseguire query con funzioni definite dall'utente
Funzioni definite dall'utente (FDU) in Amazon Athena consentono di creare funzioni personalizzate per elaborare registri o gruppi di registri. Una funzione definita dall'utente accetta parametri, esegue il lavoro e quindi restituisce un risultato.
Per utilizzare una funzione definita dall'utente in Athena, scrivi una clausola USING EXTERNAL FUNCTION prima di un'istruzione SELECT in una query SQL. L'istruzione SELECT fa riferimento alla funzione definita dall'utente e definisce le variabili che vengono passate alla funzione definita dall'utente quando viene eseguita la query. La query SQL richiama una funzione Lambda utilizzando il runtime Java quando chiama la funzione definita dall'utente. Le funzioni definite dall'utente sono definite all'interno della funzione Lambda come metodi in un pacchetto di distribuzione Java. Più funzioni definite dall'utente possono essere definite nello stesso pacchetto di distribuzione Java per una funzione Lambda. Puoi anche specificare il nome della funzione Lambda nella clausola USING EXTERNAL FUNCTION.
Sono disponibili due opzioni per la distribuzione di una funzione Lambda per le funzioni Athena definite dall'utente. Puoi distribuire la funzione direttamente utilizzando Lambda oppure puoi utilizzare AWS Serverless Application Repository. Per trovare le funzioni Lambda esistenti per le funzioni definite dall'utente, puoi cercare nel repository pubblico AWS Serverless Application Repository o privato e quindi distribuire in Lambda. Puoi inoltre creare o modificare il codice sorgente Java, creare un pacchetto in un file JAR e distribuirlo utilizzando Lambda o il AWS Serverless Application Repository. Per esempi di codice origine e pacchetti Java con cui iniziare, consulta Creare e distribuiredi una UDF utilizzando Lambda. Per ulteriori informazioni su Lambda, consulta la Guida per gli sviluppatori di AWS Lambda. Per ulteriori informazioni su AWS Serverless Application Repository, consulta la Guida per sviluppatori di AWS Serverless Application Repository.
Per un esempio che utilizza le UDF con Athena per tradurre e analizzare il testo, consulta l'articolo del blog AWS Machine Learning Tradurre e analizzare il testo utilizzando le funzioni SQL con Amazon Athena, Amazon Translate e Amazon Comprehend
Per un esempio di utilizzo delle UDF per l'estensione delle query geospaziali in Amazon Athena, consulta Estensione delle query geospaziali in Amazon Athena con UDF e AWS Lambda