Utiliser Apache Spark avec Amazon SageMaker - Amazon SageMaker

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.

Utiliser Apache Spark avec Amazon SageMaker

Amazon SageMaker Spark est une bibliothèque Spark open source qui vous aide à créer des pipelines d'apprentissage automatique (ML) avec Spark SageMaker. Cela simplifie l'intégration des étapes de Spark ML avec les SageMaker étapes, telles que la formation et l'hébergement des modèles. Pour plus d'informations sur SageMaker Spark, consultez le GitHub référentiel SageMaker Spark.

La bibliothèque SageMaker Spark est disponible en Python et en Scala. Vous pouvez utiliser SageMaker Spark pour entraîner des modèles à SageMaker utiliser org.apache.spark.sql.DataFrame des blocs de données dans vos clusters Spark. Après la formation du modèle, vous pouvez également héberger le modèle à l'aide de services SageMaker d'hébergement.

La bibliothèque SageMaker Spark fournitcom.amazonaws.services.sagemaker.sparksdk, entre autres, les classes suivantes :

  • SageMakerEstimator : étend l'interface org.apache.spark.ml.Estimator. Vous pouvez utiliser cet estimateur pour l'entraînement des modèles dans. SageMaker

  • KMeansSageMakerEstimator, PCASageMakerEstimator et XGBoostSageMakerEstimator : étendent la classe SageMakerEstimator.

  • SageMakerModel : étend la classe org.apache.spark.ml.Model. Vous pouvez l'utiliser SageMakerModel pour héberger des modèles et obtenir des inférences SageMaker.

Vous pouvez télécharger le code source des bibliothèques Python Spark (PySpark) et Scala depuis le GitHub dépôt SageMaker Spark.

Pour l'installation et des exemples de la bibliothèque SageMaker Spark, consultez SageMaker Exemples de Spark pour Scala ouSageMaker Exemples de Spark pour Python (PySpark).

Si vous utilisez Amazon AWS pour gérer EMR des clusters Spark, consultez Apache Spark. Pour plus d'informations sur l'utilisation d'Amazon EMR dans SageMaker, consultezPréparez les données à l'aide d'Amazon EMR.

Intégrez votre application Apache Spark avec SageMaker

Vous trouverez ci-dessous un résumé détaillé des étapes d'intégration de votre application Apache Spark à SageMaker.

  1. Poursuivez le prétraitement des données en utilisant la bibliothèque Apache Spark que vous connaissez. Votre ensemble de données demeure un DataFrame dans votre cluster Spark. Chargez vos données dans unDataFrame. Prétraitez-le de manière à avoir une features colonne avec org.apache.spark.ml.linalg.Vector of Doubles et une label colonne facultative avec des valeurs de Double type.

  2. Utilisez l'estimateur de la bibliothèque SageMaker Spark pour entraîner votre modèle. Par exemple, si vous choisissez l'algorithme k-means fourni par SageMaker pour l'entraînement du modèle, appelez la KMeansSageMakerEstimator.fit méthode.

    Fournissez votre DataFrame comme entrée. L'évaluateur renvoie un objet SageMakerModel.

    Note

    SageMakerModel étend le modèle org.apache.spark.ml.Model.

    La méthode fit effectue les opérations suivantes :

    1. Convertit l'entrée DataFrame au format protobuf. Pour ce faire, il sélectionne les label colonnes features et dans l'entréeDataFrame. Il télécharge ensuite les données du protobuf dans un compartiment Amazon S3. Le format protobuf est efficace pour l'entraînement des modèles dans. SageMaker

    2. Démarre la formation des modèles en SageMaker envoyant une SageMaker CreateTrainingJobdemande. Une fois l'entraînement du modèle terminé, SageMaker enregistre les artefacts du modèle dans un compartiment S3.

      SageMaker assume le IAM rôle que vous avez spécifié pour la formation des modèles afin qu'ils exécutent des tâches en votre nom. Par exemple, il utilise le rôle pour lire les données d'entraînement à partir d'un compartiment S3 et pour écrire des artefacts de modèle sur un compartiment.

    3. Crée et renvoie un objet SageMakerModel. Le constructeur effectue les tâches suivantes, qui sont liées au déploiement de votre modèle sur SageMaker.

      1. Envoie une CreateModeldemande à SageMaker.

      2. Envoie une demande CreateEndpointConfig à SageMaker.

      3. Envoie une CreateEndpointdemande à SageMaker, qui lance ensuite les ressources spécifiées et y héberge le modèle.

  3. Vous pouvez obtenir des déductions à partir de votre modèle hébergé dans SageMaker leSageMakerModel.transform.

    Fournissez unDataFrame d'entrée avec des fonctions comme entrée. La méthode transform le transforme en DataFrame contenant des inférences. En interne, la transform méthode envoie une demande au pour InvokeEndpoint SageMaker APIobtenir des déductions. La méthode transform ajoute les inférences au DataFrame d'entrée.