Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation du Machine Learning (ML) avec Amazon Athena
Le Machine Learning (ML) avec Amazon Athena vous permet d'utiliser Athena pour écrire des instructions SQL qui exécutent l'inférence du Machine Learning (ML) à l'aide d'Amazon. SageMaker Cette fonctionnalité simplifie l'accès aux modèles ML pour l'analyse des données, éliminant ainsi la nécessité d'utiliser des méthodes de programmation complexes pour exécuter l'inférence.
Pour utiliser ML avec Athena, vous définissez une fonction ML avec Athena avec la clause USING EXTERNAL
FUNCTION
. La fonction pointe vers le point de terminaison du SageMaker modèle que vous souhaitez utiliser et spécifie les noms des variables et les types de données à transmettre au modèle. Les clauses suivantes de la requête font référence à la fonction de transmission des valeurs au modèle. Le modèle exécute l'inférence en fonction des valeurs que la requête transmet, puis renvoie les résultats de l'inférence. Pour plus d'informations sur les SageMaker endpoints SageMaker et leur fonctionnement, consultez le manuel Amazon SageMaker Developer Guide.
Pour un exemple d'utilisation du machine learning avec Athena et de l' SageMaker inférence pour détecter une valeur anormale dans un ensemble de résultats, consultez l'article du blog AWS Big Data sur la détection de valeurs anormales en invoquant la fonction d'inférence d'apprentissage automatique Amazon Athena
Considérations et restrictions
-
Régions disponibles — La fonctionnalité Athena ML est une fonctionnalité dans laquelle le moteur Régions AWS Athena version 2 ou ultérieure est pris en charge.
-
SageMaker le point de terminaison du modèle doit accepter et renvoyer
text/csv
— Pour plus d'informations sur les formats de données, consultez la section Formats de données courants pour l'inférence dans le manuel Amazon SageMaker Developer Guide. -
Athena n'envoie pas d'en-têtes CSV — Si votre SageMaker point de terminaison l'est
text/csv
, votre gestionnaire de saisie ne doit pas supposer que la première ligne de l'entrée est un en-tête CSV. Comme Athena n'envoie pas d'en-têtes CSV, la sortie renvoyée à Athena contiendra une ligne de moins que ce qu'Athena attend et générera une erreur. -
SageMaker dimensionnement du point de terminaison : assurez-vous que le point de terminaison du SageMaker modèle référencé est suffisamment étendu pour les appels d'Athena au point de terminaison. Pour plus d'informations, consultez la section Mise à l'échelle automatique SageMaker des modèles dans le manuel Amazon SageMaker Developer Guide et CreateEndpointConfigdans le Amazon SageMaker API Reference.
-
Autorisations IAM — Pour exécuter une requête qui spécifie un ML avec la fonction Athena, le principal IAM qui exécute la requête doit être autorisé à effectuer l'action pour le point de terminaison
sagemaker:InvokeEndpoint
du modèle référencé. SageMaker Pour plus d’informations, consultez Autorisation d'accès pour ML avec Athena. -
Les fonctions ML avec Athena ne peuvent pas être utilisées directement dans les clauses
GROUP BY
ML avec syntaxe Athena
La clause USING EXTERNAL FUNCTION
spécifie une fonction ML avec Athena ou plusieurs fonctions qui peuvent être référencées par une instruction SELECT
ultérieure dans la requête. Vous définissez le nom de la fonction, les noms de variables et les types de données des variables et des valeurs de retour.
Résumé
La syntaxe suivante montre une USING EXTERNAL FUNCTION
clause qui spécifie une fonction ML avec Athena.
USING EXTERNAL FUNCTION ml_function_name
(variable1
data_type
[, variable2
data_type
][,...])
RETURNS data_type
SAGEMAKER 'sagemaker_endpoint
'
SELECT ml_function_name
()
Paramètres
- UTILISATION DE LA FONCTION EXTERNE
ml_function_nom
(variable1
data_type
[,variable2
data_type
][,...]) -
ml_function_nom
définit le nom de la fonction, qui peut être utilisé dans les clauses de requête suivantes. Chaquevariable data_type
spécifie une variable nommée et le type de données correspondant que le SageMaker modèle accepte en entrée. Le type de données spécifié doit être un type de données Athena pris en charge. - RETURNS
type_données
-
data_type
indique le type de données SQL queml_function_name
renvoie à la requête en sortie du modèle. SageMaker - SAGEMAKER '
sagemaker_endpoint
' -
sagemaker_endpoint
indique le point final du modèle. SageMaker - SELECT [...]
ml_function_name
(expression
) [...] -
La requête SELECT qui transmet des valeurs aux variables de fonction et au SageMaker modèle pour renvoyer un résultat.
ml_function_name
indique la fonction définie précédemment dans la requête, suivie d'uneexpression
qui est évaluée pour transmettre des valeurs. Les valeurs transmises et renvoyées doivent correspondre aux types de données correspondants spécifiés pour la fonction dans la clauseUSING EXTERNAL FUNCTION
.
Exemple
L'exemple suivant illustre une requête utilisant ML avec 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;
Exemples d'utilisation par les clients
Les vidéos suivantes, qui utilisent la version préliminaire de Machine Learning (ML) avec Amazon Athena, montrent comment vous pouvez utiliser SageMaker Athena.
Prédiction du taux de désabonnement des clients
La vidéo suivante montre comment associer Athena aux capacités d'apprentissage automatique d'Amazon SageMaker pour prévoir le taux de désabonnement des clients.
Détection des réseaux d'ordinateurs zombies
La vidéo suivante montre comment une entreprise utilise Amazon Athena et Amazon SageMaker pour détecter les botnets.