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.

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 GitHub Spark-Repository. In den folgenden Themen finden Sie Informationen zur Verwendung von Apache Spark mit SageMaker.

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 Abrufen von Schlussfolgerungen verwenden. SageMaker

Sie können den Quellcode sowohl für Python Spark (PySpark) als auch für die Scala-Bibliotheken 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 oderRessourcen für die Verwendung von SageMaker Spark for Python (PySpark) -Beispielen.

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

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 Ihre Daten in eineDataFrame. Verarbeiten Sie es so vor, dass Sie eine features Spalte mit org.apache.spark.ml.linalg.Vector of Doubles und eine optionale label Spalte mit Werten Double vom Typ haben.

  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. Konvertiert die Eingabe in DataFrame das Protobuf-Format. Dazu werden die label Spalten features und aus der Eingabe ausgewählt. DataFrame Anschließend werden die Protobuf-Daten in einen Amazon S3 S3-Bucket hochgeladen. 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, um Rückschlüsse InvokeEndpoint SageMaker APIzu erhalten. Die transform-Methode hängt die Inferenzen an den Eingabe-DataFrame an.