Verwenden Sie Apache Spark mit Amazon SageMaker - Amazon SageMaker

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 Sie Apache Spark mit Amazon SageMaker

Amazon SageMaker Spark ist eine Open-Source-Spark-Bibliothek, mit SageMaker der Sie Spark-Pipelines für maschinelles Lernen (ML) erstellen können. Dies vereinfacht die Integration von Spark-ML-Phasen in SageMaker Phasen wie Modelltraining und Hosting. Informationen zu SageMaker Spark finden Sie im SageMaker GitHubSpark-Repository.

Die SageMaker Spark-Bibliothek ist in Python und Scala verfügbar. Sie können SageMaker Spark verwenden, um Modelle bei der SageMaker Verwendung von org.apache.spark.sql.DataFrame Datenrahmen in Ihren Spark-Clustern zu trainieren. Nach dem Modelltraining können Sie das Modell auch mithilfe von SageMaker Hosting-Diensten hosten.

Die SageMaker Spark-Bibliothek bietet unter anderem die folgenden Klassen: com.amazonaws.services.sagemaker.sparksdk

  • SageMakerEstimator – Erweitert die org.apache.spark.ml.Estimator Schnittstelle. Sie können diesen Schätzer für das Modelltraining in SageMaker verwenden.

  • KMeansSageMakerEstimator, PCASageMakerEstimator, und XGBoostSageMakerEstimator – Erweitert die SageMakerEstimator Klasse.

  • SageMakerModel – Erweitert org.apache.spark.ml.Model Klasse. Sie können ihn zum Hosten von Modellen und SageMakerModel zum Ableiten von Schlussfolgerungen in verwenden. SageMaker

Sie können den Quellcode für die Bibliotheken Python Spark (PySpark) und Scala aus dem SageMaker GitHubSpark-Repository herunterladen.

Die Installation und Beispiele der SageMaker Spark-Bibliothek finden Sie unter SageMaker Beispiele für Spark für Scala oderSageMaker Beispiele für Spark für Python (PySpark).

Wenn Sie Amazon EMR on AWS zur Verwaltung von Spark-Clustern verwenden, finden Sie weitere Informationen unter Apache Spark. Weitere Informationen zur Verwendung von Amazon EMR in finden Sie SageMaker unterDaten mit Amazon EMR vorbereiten.

Integrieren Sie Ihre Apache Spark-Anwendung mit SageMaker

Im Folgenden finden Sie eine allgemeine Zusammenfassung der Schritte zur Integration Ihrer Apache Spark-Anwendung mit SageMaker.

  1. Setzen Sie die Datenvorverarbeitung mithilfe der Apache Spark-Bibliothek fort, mit der Sie vertraut sind. Ihr Datensatz bleibt ein DataFrame in Ihrem Spark-Cluster. Laden Sie die Daten in den DataFrame und starten Sie die Vorverarbeitung, damit Sie die features-Spalte mit einem org.apache.spark.ml.linalg.Vector-Element des Doubles-Typs und eine optionale label-Spalte mit Werten des Double-Typs erhalten.

  2. Verwenden Sie den Schätzer in der SageMaker Spark-Bibliothek, um Ihr Modell zu trainieren. Wenn Sie beispielsweise den von SageMaker for model training bereitgestellten K-Means-Algorithmus wählen, rufen Sie die KMeansSageMakerEstimator.fit Methode auf.

    Geben Sie Ihren DataFrame als Eingabe an. Von der Schätzfunktion wird ein SageMakerModel-Objekt zurückgegeben.

    Anmerkung

    SageMakerModel ist eine Erweiterung von org.apache.spark.ml.Model.

    Von der fit-Methode werden folgende Schritte ausgeführt:

    1. Der als Eingabe spezifizierte DataFrame wird in das "protobuf"-Format konvertiert. Dazu erfolgt eine Auswahl der Spalten features und label aus dem Eingabe DataFrame sowie der Upload der "protobuf"-Daten in einen Amazon-S3-Bucket. Das Protobuf-Format ist effizient für das Modelltraining in. SageMaker

    2. Startet das Modelltraining SageMaker durch Senden einer SageMaker CreateTrainingJobAnfrage. SageMaker Speichert die Modellartefakte nach Abschluss des Modelltrainings in einem S3-Bucket.

      SageMaker nimmt die IAM-Rolle an, die Sie für das Modelltraining angegeben haben, um Aufgaben in Ihrem Namen auszuführen. Beispielsweise wird die Rolle zum Lesen von Trainingsdaten aus einem S3-Bucket und zum Schreiben von Modellartefakten in einen Bucket verwendet.

    3. Ein SageMakerModel-Objekt wird erstellt und zurückgegeben. Der Konstruktor führt die folgenden Aufgaben aus, die sich auf die Bereitstellung Ihres Modells beziehen. SageMaker

      1. Sendet eine CreateModelAnfrage an. SageMaker

      2. Sendet eine CreateEndpointConfig-Anforderung an SageMaker.

      3. Sendet eine CreateEndpointAnfrage an SageMaker, die dann die angegebenen Ressourcen startet und das Modell auf ihnen hostet.

  3. Sie können Rückschlüsse aus Ihrem Modell ziehen, das SageMaker mit dem SageMakerModel.transform gehostet wird.

    Stellen Sie einen DataFrame mit Merkmalen als Eingabe bereit. Die transform-Methode transformiert dies in einen DataFrame, der Inferenzen enthält. Intern sendet die transform Methode eine Anfrage an die InvokeEndpoint SageMaker API, um Rückschlüsse zu erhalten. Die transform-Methode hängt die Inferenzen an den Eingabe-DataFrame an.