Usa Apache Spark con Amazon SageMaker - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa Apache Spark con Amazon SageMaker

Amazon SageMaker Spark è una libreria Spark open source che ti aiuta a creare pipeline di machine learning (ML) Spark con. SageMaker Ciò semplifica l'integrazione delle fasi di Spark ML con SageMaker fasi, come la formazione e l'hosting dei modelli. Per informazioni su SageMaker Spark, consulta il SageMaker repository Spark. GitHub

La libreria SageMaker Spark è disponibile in Python e Scala. Puoi usare SageMaker Spark per addestrare i modelli all' SageMaker uso org.apache.spark.sql.DataFrame dei frame di dati nei tuoi cluster Spark. Dopo l'addestramento del modello, puoi anche ospitare il modello utilizzando SageMaker i servizi di hosting.

La libreria SageMaker Spark forniscecom.amazonaws.services.sagemaker.sparksdk, tra le altre, le seguenti classi:

  • SageMakerEstimator: estende l'interfaccia org.apache.spark.ml.Estimator. Puoi usare questo stimatore per addestrare i modelli in. SageMaker

  • KMeansSageMakerEstimator, PCASageMakerEstimator e XGBoostSageMakerEstimator: estendono la classe SageMakerEstimator.

  • SageMakerModel: estende la classe org.apache.spark.ml.Model. È possibile utilizzarlo SageMakerModel per l'hosting di modelli e l'inserimento di inferenze. SageMaker

Puoi scaricare il codice sorgente per entrambe le librerie Python Spark (PySpark) e Scala dal repository Spark. SageMaker GitHub

Per l'installazione ed esempi della libreria SageMaker Spark, consulta o. SageMaker Esempi di Spark per Scala SageMaker Esempi di Spark per Python (PySpark)

Se usi Amazon EMR on AWS per gestire i cluster Spark, consulta Apache Spark. Per ulteriori informazioni sull'utilizzo di Amazon EMR in SageMaker, consultaPrepara i dati con Amazon EMR.

Integra la tua applicazione Apache Spark con SageMaker

Di seguito è riportato un riepilogo di alto livello dei passaggi per l'integrazione dell'applicazione Apache Spark con. SageMaker

  1. Continua con la preelaborazione dei dati utilizzando la libreria Apache Spark con cui hai familiarità. Il set di dati rimane un DataFrame nel tuo cluster Spark. Carica i tuoi dati in un. DataFrame Preelaboralo in modo da avere una features colonna con org.apache.spark.ml.linalg.Vector of Doubles e una label colonna opzionale con valori di Double tipo.

  2. Usa lo stimatore nella libreria SageMaker Spark per addestrare il tuo modello. Ad esempio, se scegli l'algoritmo k-means fornito da SageMaker per l'addestramento dei modelli, chiama il metodo. KMeansSageMakerEstimator.fit

    Come input fornisci il tuo DataFrame. Lo strumento di valutazione restituisce un oggetto SageMakerModel.

    Nota

    SageMakerModel estende org.apache.spark.ml.Model.

    Il metodo fit esegue quanto segue:

    1. Converte l'input nel formato DataFrame protobuf. Lo fa selezionando le label colonne features e dall'input. DataFrame Quindi carica i dati protobuf in un bucket Amazon S3. Il formato protobuf è efficiente per l'addestramento dei modelli. SageMaker

    2. Avvia l'addestramento dei modelli SageMaker inviando una SageMaker CreateTrainingJobrichiesta. Una volta completato l'addestramento del modello, SageMaker salva gli artefatti del modello in un bucket S3.

      SageMaker assume il IAM ruolo che avete specificato per la formazione dei modelli per eseguire attività per vostro conto. Ad esempio, utilizza il ruolo per leggere i dati di addestramento da un bucket S3 e scrivere artefatti del modello in un bucket.

    3. Crea e restituisce un oggetto SageMakerModel. Il costruttore esegue le seguenti attività, relative alla distribuzione del modello in. SageMaker

      1. Invia una CreateModelrichiesta a. SageMaker

      2. Invia una richiesta CreateEndpointConfig a SageMaker.

      3. Invia una CreateEndpointrichiesta a SageMaker, che quindi avvia le risorse specificate e ospita il modello su di esse.

  3. È possibile ottenere inferenze dal modello ospitato SageMaker in. SageMakerModel.transform

    Fornisci un input DataFrame con caratteristiche come input. Il metodo transform lo converte in un DataFrame contenente inferenze. Internamente, il transform metodo invia una richiesta a per InvokeEndpoint SageMaker APIottenere inferenze. Il metodo transform collega le inferenze all'input DataFrame.