

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.

# Apache Spark avec Amazon SageMaker AI
<a name="apache-spark"></a>

Amazon SageMaker AI Spark est une bibliothèque Spark open source qui vous aide à créer des pipelines d'apprentissage automatique (ML) Spark avec l' SageMaker IA. Cela simplifie l'intégration des stages Spark ML aux stages d' SageMaker IA, tels que la formation et l'hébergement des modèles. Pour plus d'informations sur SageMaker AI Spark, consultez le GitHub référentiel [SageMaker AI Spark](https://github.com/aws/sagemaker-spark). Les rubriques suivantes fournissent des informations pour apprendre à utiliser Apache Spark avec l' SageMaker IA.

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

La bibliothèque SageMaker AI Spark fournit`com.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 de modèles en SageMaker IA.
+ `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 dans l' SageMaker IA.

Vous pouvez télécharger le code source des bibliothèques Python Spark (PySpark) et Scala depuis le GitHub référentiel [SageMaker AI Spark](https://github.com/aws/sagemaker-spark).

Pour l'installation et des exemples de la bibliothèque SageMaker AI Spark, consultez [SageMaker Exemples d'AI Spark pour Scala](apache-spark-example1.md) ou[Ressources pour utiliser les exemples d' SageMaker AI Spark pour Python (PySpark)](apache-spark-additional-examples.md).

Si vous utilisez Amazon EMR AWS pour gérer des clusters Spark, consultez [Apache](https://aws.amazon.com/emr/features/spark/) Spark. Pour plus d'informations sur l'utilisation d'Amazon EMR dans l' SageMaker IA, consultez. [Préparation des données à l’aide d’Amazon EMR](studio-notebooks-emr-cluster.md)

**Topics**
+ [Intégrez votre application Apache Spark à l' SageMaker IA](#spark-sdk-common-process)
+ [SageMaker Exemples d'AI Spark pour Scala](apache-spark-example1.md)
+ [Ressources pour utiliser les exemples d' SageMaker AI Spark pour Python (PySpark)](apache-spark-additional-examples.md)

## Intégrez votre application Apache Spark à l' SageMaker IA
<a name="spark-sdk-common-process"></a>

Voici un résumé détaillé des étapes d'intégration de votre application Apache Spark à l' SageMaker IA.

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 un `DataFrame`. Effectuez-en un prétraitement de manière à disposer d’une colonne `features` avec `org.apache.spark.ml.linalg.Vector` de `Doubles`, et une colonne `label` facultative avec des valeurs de type `Double`.

1. Utilisez l'estimateur de la bibliothèque SageMaker AI Spark pour entraîner votre modèle. Par exemple, si vous choisissez l'algorithme k-means fourni par l' SageMaker IA pour l'entraînement des modèles, 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. Elle convertit le `DataFrame` d’entrée au format protobuf. Pour ce faire, elle sélectionne les colonnes `features` et `label` à partir du `DataFrame` d’entrée. Elle charge ensuite les données protobuf dans un compartiment Amazon S3. Le format protobuf est efficace pour l'entraînement des modèles en SageMaker IA.

   1. Démarre la formation des modèles en SageMaker IA en envoyant une [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)demande d' SageMaker IA. Une fois l'entraînement du modèle terminé, l' SageMaker IA enregistre les artefacts du modèle dans un compartiment S3. 

      SageMaker L'IA assume le rôle IAM que vous avez spécifié pour la formation des modèles afin d'effectuer 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. 

   1. 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 l' SageMaker IA. 

      1. Envoie une [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)demande à SageMaker AI. 

      1. Envoie une [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)demande à SageMaker AI.

      1. Envoie une [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)demande à SageMaker AI, qui lance ensuite les ressources spécifiées et y héberge le modèle. 

1. Vous pouvez obtenir des déductions à partir de votre modèle hébergé dans SageMaker AI avec le`SageMakerModel.transform`. 

   Fournissez un `DataFrame` 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 à l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) SageMaker API pour obtenir des déductions. La méthode `transform` ajoute les inférences au `DataFrame` d’entrée.