Utilizzo di Machine Learning (ML) con Amazon Athena - Amazon Athena

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 Athena.

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:InvokeEndpointazione 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. Ogni variabile 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 che ml_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 clausola USING 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.