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
In diesem Abschnitt finden Sie Informationen für Entwickler, die Apache Spark zur Vorverarbeitung von Daten und Amazon einsetzen möchten SageMaker für Modelltraining und Hosting. Weitere Informationen zu von Apache Spark unterstützten Versionen finden Sie inErhalten von SageMaker
SageMaker verfügt über eine Apache Spark-Bibliothek für Python und Scala, mit der Sie Modelle einfach schulen können SageMaker unter Verwendung vonorg.apache.spark.sql.DataFrame
Datenrahmen in Ihren Spark-Clustern. Nach der Modellschulung kann das Modell mit SageMaker Hosting-Dienste.
Die SageMaker Spark-Bibliothek,com.amazonaws.services.sagemaker.sparksdk
, bietet unter anderem folgende Klassen:
-
SageMakerEstimator
—Erweitert dieorg.apache.spark.ml.Estimator
-Schnittstelle implementieren. Sie können diese Schätzfunktion für die Modellschulung in SageMaker verwenden. -
KMeansSageMakerEstimator
,PCASageMakerEstimator
, undXGBoostSageMakerEstimator
—Erweitern derSageMakerEstimator
-Klasse. -
SageMakerModel
—Erweitert dieorg.apache.spark.ml.Model
-Klasse. Sie können dies verwendenSageMakerModel
für das Modell-Hosting und den Abruf von Inferenzen in SageMaker.
mit SageMaker Studio können Sie einfach eine Verbindung mit einem Amazon EMR-Cluster herstellen. Weitere Informationen finden Sie unterBereiten Sie Daten im Maßstab mit Studio-Notebooks voraus.
Herunterladen des SageMaker Spark-Bibliothek
Sie können die Spark-Bibliothek von SageMaker herunterladen:
-
Sie können den Quellcode für beide herunterladen PySpark und Scala-Bibliotheken aus derSageMaker-Spark
GitHub -Repository. -
Für die Python-Spark-Bibliothek stehen weitere Optionen zur Verfügung:
-
Verwenden Sie "pip install":
pip install sagemaker_pyspark
-
In einer Notebook-Instance erstellen Sie ein neues Notebook, das entweder die
Sparkmagic (PySpark)
oder dasSparkmagic (PySpark3)
Kernel und stellen Sie eine Verbindung zu einem Remote-Amazon EMR-Cluster her.Anmerkung Der EMR-Cluster muss mit einer IAM-Rolle konfiguriert sein, die über
AmazonSageMakerFullAccess
Richtlinie angefügt. Weitere Informationen zum Konfigurieren von Rollen für einen EMR-Cluster finden Sie unterKonfigurieren von IAM-Rollen für Amazon EMR-Berechtigungen fürAWSServicesimAmazon EMR-Management-Leitfadenaus.
-
-
Die Scala-Bibliothek können Sie von Maven abrufen. Fügen Sie die Spark-Bibliothek zum Projekt hinzu, indem Sie die Datei
pom.xml
um folgende Abhängigkeit ergänzen:<dependency> <groupId>com.amazonaws</groupId> <artifactId>sagemaker-spark_2.11</artifactId> <version>spark_2.2.0-1.0</version> </dependency>
Integrieren Sie Ihre Apache Spark-Anwendung in SageMaker
Nachstehend finden Sie eine allgemeine Übersicht über die Schritte, die zur Integration Ihrer Apache Spark-Anwendung in SageMaker erforderlich sind.
-
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 im SageMaker Spark-Library zum Trainieren Ihres Modells. Beispielsweise wählen Sie den k-means-Algorithmus von SageMaker Für Modelltraining rufen Sie die
KMeansSageMakerEstimator.fit
-Methode.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:-
Konvertiert die Eingabe
DataFrame
zum Protobuf-Format durch Auswahl derfeatures
undlabel
Spalten aus der EingabeDataFrame
und Hochladen der Protobuf-Daten in einen Amazon S3 S3-Bucket. Das „protobuf“ -Format ist effizient für die Modellschulung in SageMaker. -
Startet die Modellschulung in SageMaker indem Sie eine SageMaker
CreateTrainingJob
request. Nachdem das Modelltraining abgeschlossen ist, SageMaker speichert die Modellartefakte in einem S3-Bucket.SageMaker übernimmt die IAM-Rolle, die Sie für die Modellschulung zum Ausführen von Aufgaben in Ihrem Namen angegeben haben. 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
Anfrage an SageMaker. -
Sendet eine
CreateEndpointConfig
Anfrage an SageMaker. -
Sendet eine
CreateEndpoint
-Anforderung an SageMaker, der dann die angegebenen Ressourcen startet und das Modell auf diesen hostet.
-
-
-
Sie können Schlussfolgerungen von Ihrem Modell, das in gehostet wird, abrufen SageMaker mit dem
SageMakerModel.transform
aus.Stellen Sie einen
DataFrame
mit Merkmalen als Eingabe bereit. Dietransform
-Methode transformiert dies in einenDataFrame
, der Inferenzen enthält. Intern ist dertransform
-Methode sendet eine -Anforderung an dieInvokeEndpoint
SageMaker API, um Schlussfolgerungen zu erhalten. Dietransform
-Methode hängt die Inferenzen an den Eingabe-DataFrame
an.