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'interfaceorg.apache.spark.ml.Estimator
. Vous pouvez utiliser cet estimateur pour l'entraînement des modèles dans. SageMaker -
KMeansSageMakerEstimator
,PCASageMakerEstimator
etXGBoostSageMakerEstimator
: étendent la classeSageMakerEstimator
. -
SageMakerModel
: étend la classeorg.apache.spark.ml.Model
. Vous pouvez l'utiliserSageMakerModel
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
Rubriques
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.
-
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 unefeatures
colonne avecorg.apache.spark.ml.linalg.Vector
ofDoubles
et unelabel
colonne facultative avec des valeurs deDouble
type. -
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 objetSageMakerModel
.Note
SageMakerModel
étend le modèleorg.apache.spark.ml.Model
.La méthode
fit
effectue les opérations suivantes :-
Convertit l'entrée
DataFrame
au format protobuf. Pour ce faire, il sélectionne leslabel
colonnesfeatures
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 -
Démarre la formation des modèles en SageMaker envoyant une SageMaker
CreateTrainingJob
demande. 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.
-
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.-
Envoie une
CreateModel
demande à SageMaker. -
Envoie une demande
CreateEndpointConfig
à SageMaker. -
Envoie une
CreateEndpoint
demande à SageMaker, qui lance ensuite les ressources spécifiées et y héberge le modèle.
-
-
-
Vous pouvez obtenir des déductions à partir de votre modèle hébergé dans SageMaker le
SageMakerModel.transform
.Fournissez un
DataFrame
d'entrée avec des fonctions comme entrée. La méthodetransform
le transforme enDataFrame
contenant des inférences. En interne, latransform
méthode envoie une demande au pourInvokeEndpoint
SageMaker APIobtenir des déductions. La méthodetransform
ajoute les inférences auDataFrame
d'entrée.