Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Machine Learning (ML) con Amazon Athena
Machine Learning (ML) con Amazon Athena ti consente di utilizzare Athena per scrivere istruzioni SQL che eseguono inferenze di Machine Learning (ML) utilizzando Amazon. SageMaker Questa caratteristica semplifica l'accesso ai modelli ML per l'analisi dei dati, eliminando la necessità di utilizzare metodi di programmazione complessi per eseguire l'inferenza.
Per usare ML con Athena, si definisce un ML con la funzione Athena con la clausola USING EXTERNAL
FUNCTION
. La funzione punta all'endpoint del SageMaker modello che desideri utilizzare e specifica i nomi delle variabili e i tipi di dati da passare al modello. Le clausole successive nella query fanno riferimento alla funzione per passare valori al modello. Il modello esegue l'inferenza in base ai valori passati dalla query e quindi restituisce i risultati dell'inferenza. Per ulteriori informazioni SageMaker e su come funzionano gli SageMaker endpoint, consulta l'Amazon SageMaker Developer Guide.
Per un esempio che utilizza ML con Athena e SageMaker inferenza per rilevare un valore anomalo in un set di risultati, consulta l'articolo del AWS Big Data Blog Rilevare valori anomali richiamando la funzione di inferenza di apprendimento automatico di Amazon
Considerazioni e limitazioni
-
Regioni disponibili: la funzionalità Athena ML è una funzionalità in cui è supportata la versione 2 o successiva del motore Regioni AWS Athena.
-
SageMaker model endpoint must accept and return
text/csv
— Per ulteriori informazioni sui formati di dati, consulta Common data formats for inference nella Amazon SageMaker Developer Guide. -
Athena non invia intestazioni CSV: se l' SageMaker endpoint lo è
text/csv
, il gestore di input non deve presumere che la prima riga dell'input sia un'intestazione CSV. Poiché Athena non invia intestazioni CSV, l'output restituito ad Athena conterrà una riga in meno di quella prevista da Athena e causerà un errore. -
SageMaker scalabilità dell'endpoint: assicuratevi che l'endpoint del SageMaker modello di riferimento sia sufficientemente scalato per le chiamate Athena all'endpoint. Per ulteriori informazioni, consulta SageMaker i modelli di scalabilità automatica nell'Amazon SageMaker Developer Guide e CreateEndpointConfignell'Amazon SageMaker API Reference.
-
Autorizzazioni IAM: per eseguire una query che specifica un ML con la funzione Athena, è necessario consentire al principale IAM che esegue la query di eseguire l'
sagemaker:InvokeEndpoint
azione per l'endpoint del modello di riferimento. SageMaker Per ulteriori informazioni, consulta Autorizzazione per l'accesso per ML con Athena. -
ML con funzioni Athena non può essere usato direttamente nelle clausole
GROUP BY
ML con sintassi Athena
La clausola USING EXTERNAL FUNCTION
specifica un ML con funzione o più funzioni Athena a cui è possibile fare riferimento da un'istruzione SELECT
successiva nella query. Definire il nome della funzione, i nomi delle variabili e i tipi di dati per le variabili e i valori restituiti.
Riepilogo
La seguente sintassi mostra una clausola USING EXTERNAL FUNCTION
che specifica un ML con funzione Athena.
USING EXTERNAL FUNCTION ml_function_name
(variable1
data_type
[, variable2
data_type
][,...])
RETURNS data_type
SAGEMAKER 'sagemaker_endpoint
'
SELECT ml_function_name
()
Parametri
- USING EXTERNAL FUNCTION
ml_function_name
(variable1
data_type
[,variable2
data_type
][,...]) -
ml_function_name
definisce il nome della funzione, che può essere utilizzato nelle successive clausole di query. Ognivariabile data_type
specifica una variabile denominata e il tipo di dati corrispondente che il modello accetta come input. SageMaker Il tipo di dati specificato deve essere un tipo di dati Athena supportato. - RETURNS
data_type
-
data_type
specifica il tipo di dati SQL cheml_function_name
restituisce alla query come output del modello. SageMaker - SAGEMAKER '
sagemaker_endpoint
' -
sagemaker_endpoint
specifica l'endpoint del modello. SageMaker - SELEZIONA [...]
ml_function_name
(expression
) [...] -
La query SELECT che passa i valori alle variabili di funzione e al modello per restituire un risultato. SageMaker
ml_function_name
specifica la funzione definita in precedenza nella query, seguita da un'espressione
che viene valutata per passare valori. I valori passati e restituiti devono corrispondere ai tipi di dati corrispondenti specificati per la funzione nella clausolaUSING EXTERNAL FUNCTION
.
Esempio
Nell'esempio seguente viene illustrata una query mediante ML con Athena.
USING EXTERNAL FUNCTION predict_customer_registration(age INTEGER) RETURNS DOUBLE SAGEMAKER 'xgboost-2019-09-20-04-49-29-303' SELECT predict_customer_registration(age) AS probability_of_enrolling, customer_id FROM "sampledb"."ml_test_dataset" WHERE predict_customer_registration(age) < 0.5;
Esempi di utilizzo per i clienti
I seguenti video, che utilizzano la versione di anteprima di Machine Learning (ML) con Amazon Athena, mostrano i modi in cui è possibile utilizzare Athena. SageMaker
Previsione dell'abbandono del cliente
Il video seguente mostra come combinare Athena con le funzionalità di machine learning di Amazon SageMaker per prevedere il tasso di abbandono dei clienti.
Rilevamento delle botnet
Il video seguente mostra come un'azienda utilizza Amazon Athena e Amazon SageMaker per rilevare le botnet.