Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von Apache Spark mit Amazon SageMaker
Amazon SageMaker Spark ist eine Open-Source-Spark-Bibliothek, mit der Sie Spark-Machine-Learning-(ML)-Pipelines mit erstellen können SageMaker. Dies vereinfacht die Integration von Spark-ML-Stufen in SageMaker Stufen wie Modelltraining und -hosting. Weitere Informationen zu SageMaker Spark finden Sie im SageMaker Spark
Die SageMaker Spark-Bibliothek ist in Python und Scala verfügbar. Sie können SageMaker Spark verwenden, um Modelle in mithilfe SageMaker von org.apache.spark.sql.DataFrame
Datenframes in Ihren Spark-Clustern zu trainieren. Nach dem Modelltraining können Sie das Modell auch mithilfe von SageMaker Hosting-Services hosten.
Die SageMaker Spark-Bibliothek, com.amazonaws.services.sagemaker.sparksdk
, bietet unter anderem die folgenden Klassen:
-
SageMakerEstimator
— Erweitert dieorg.apache.spark.ml.Estimator
Schnittstelle. Sie können diese Schätzfunktion für die Modellschulung in SageMaker verwenden. -
KMeansSageMakerEstimator
,PCASageMakerEstimator
, undXGBoostSageMakerEstimator
— Erweitert dieSageMakerEstimator
Klasse. -
SageMakerModel
— Erweitertorg.apache.spark.ml.Model
Klasse. Sie könnenSageMakerModel
für das Modell-Hosting und den Abruf von Inferenzen in SageMaker einsetzen.
Sie können den Quellcode sowohl für Python Spark (PySpark) als auch für Scala-Bibliotheken aus dem SageMaker Spark
Installation und Beispiele für die SageMaker Spark-Bibliothek finden Sie unter SageMaker Beispiele für Spark für Scala oder SageMaker Beispiele für Spark für Python (PySpark).
Wenn Sie Amazon EMR in verwenden, AWS um Spark-Cluster zu verwalten, finden Sie weitere Informationen unter Apache Spark
Themen
Integration Ihrer Apache Spark-Anwendung in SageMaker
Im Folgenden finden Sie eine allgemeine Zusammenfassung der Schritte zur Integration Ihrer Apache-Spark-Anwendung in SageMaker.
-
Setzen Sie die Datenvorverarbeitung mithilfe der Apache Spark-Bibliothek fort, mit der Sie vertraut sind. Ihr Dataset bleibt ein
DataFrame
in Ihrem Spark-Cluster. Laden Sie die Daten in denDataFrame
und starten Sie die Vorverarbeitung, damit Sie diefeatures
-Spalte mit einemorg.apache.spark.ml.linalg.Vector
-Element desDoubles
-Typs und eine optionalelabel
-Spalte mit Werten desDouble
-Typs erhalten. -
Verwenden Sie den Schätzer in der SageMaker Spark-Bibliothek, um Ihr Modell zu trainieren. Wenn Sie beispielsweise den k-Means-Algorithmus auswählen, der von SageMaker für das Modelltraining bereitgestellt wird, rufen Sie die
KMeansSageMakerEstimator.fit
Methode auf.Geben Sie Ihren
DataFrame
als Eingabe an. Von der Schätzfunktion wird einSageMakerModel
-Objekt zurückgegeben.Anmerkung
SageMakerModel
ist eine Erweiterung vonorg.apache.spark.ml.Model
.Von der
fit
-Methode werden folgende Schritte ausgeführt:-
Der als Eingabe spezifizierte
DataFrame
wird in das "protobuf"-Format konvertiert. Dazu erfolgt eine Auswahl der Spaltenfeatures
undlabel
aus dem EingabeDataFrame
sowie der Upload der "protobuf"-Daten in einen Amazon S3-Bucket. Das "protobuf"-Format ist effizient für die Modellschulung in SageMaker. -
Startet das Modelltraining in SageMaker durch Senden einer SageMaker
CreateTrainingJob
-Anforderung. Nachdem das Modelltraining abgeschlossen ist, SageMaker speichert die Modellartefakte in einem S3-Bucket.SageMaker übernimmt die IAM-Rolle, die Sie für das Modelltraining angegeben haben, um Aufgaben in Ihrem Namen auszuführen. Beispielsweise wird die Rolle zum Lesen von Schulungsdaten aus einem S3-Bucket und zum Schreiben von Modellartefakten in einen Bucket verwendet.
-
Ein
SageMakerModel
-Objekt wird erstellt und zurückgegeben. Der Konstruktor führt im Zusammenhang mit der Modellbereitstellung in SageMaker die folgenden Schritte aus:-
Sendet eine
CreateModel
Anforderung an SageMaker. -
Sendet eine
CreateEndpointConfig
-Anforderung an SageMaker. -
Sendet eine
CreateEndpoint
Anforderung an SageMaker, die dann die angegebenen Ressourcen startet und das Modell auf ihnen hostet.
-
-
-
Sie können Rückschlüsse aus Ihrem in gehosteten Modell SageMaker mit der erhalten
SageMakerModel.transform
.Stellen Sie einen
DataFrame
mit Merkmalen als Eingabe bereit. Dietransform
-Methode transformiert dies in einenDataFrame
, der Inferenzen enthält. Intern sendet dietransform
Methode eine Anforderung an dieInvokeEndpoint
SageMaker API, um Inferenzen zu erhalten. Dietransform
-Methode hängt die Inferenzen an den Eingabe-DataFrame
an.