Use o Apache Spark com a Amazon SageMaker - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use o Apache Spark com a Amazon SageMaker

O Amazon SageMaker Spark é uma biblioteca Spark de código aberto que ajuda você a criar pipelines de aprendizado de máquina (ML) do Spark com. SageMaker Isso simplifica a integração dos estágios do Spark ML com os SageMaker estágios, como treinamento e hospedagem de modelos. Para obter informações sobre o SageMaker Spark, consulte o repositório do SageMaker Spark GitHub.

A biblioteca SageMaker Spark está disponível em Python e Scala. Você pode usar o SageMaker Spark para treinar modelos no SageMaker uso de quadros de org.apache.spark.sql.DataFrame dados em seus clusters do Spark. Após o treinamento do modelo, você também pode hospedar o modelo usando serviços de SageMaker hospedagem.

A biblioteca SageMaker Spark,com.amazonaws.services.sagemaker.sparksdk, fornece as seguintes classes, entre outras:

  • SageMakerEstimator—Estende a interface org.apache.spark.ml.Estimator. Você pode usar esse estimador para treinamento de modelos em. SageMaker

  • KMeansSageMakerEstimator, PCASageMakerEstimator e XGBoostSageMakerEstimator—Estendem a classe SageMakerEstimator.

  • SageMakerModel—Estende a classe org.apache.spark.ml.Model. Você pode usar isso SageMakerModel para hospedar modelos e obter inferências. SageMaker

Você pode baixar o código-fonte das bibliotecas Python Spark (PySpark) e Scala no repositório Spark. SageMaker GitHub

Para instalação e exemplos da biblioteca SageMaker Spark, consulte SageMaker Exemplos do Spark para Scala ouSageMaker Exemplos do Spark para Python (PySpark).

Se você usa o Amazon EMR AWS para gerenciar clusters do Spark, consulte Apache Spark. Para obter mais informações sobre o uso do Amazon EMR em SageMaker, consulte. Prepare dados usando o Amazon EMR

Integre seu aplicativo Apache Spark com SageMaker

A seguir está um resumo de alto nível das etapas para integrar seu aplicativo Apache Spark com. SageMaker

  1. Continue o pré-processamento de dados usando a biblioteca Apache Spark que você já conhece. O conjunto de dados permanece como um DataFrame no seu cluster do Spark. Carregue seus dados em umDataFrame. Pré-processe-o para que você tenha uma features coluna com org.apache.spark.ml.linalg.Vector Doubles de e uma label coluna opcional com valores do Double tipo.

  2. Use o estimador na biblioteca do SageMaker Spark para treinar seu modelo. Por exemplo, se você escolher o algoritmo k-means fornecido pelo SageMaker para o treinamento do modelo, chame o KMeansSageMakerEstimator.fit método.

    Forneça seu DataFrame como entrada. O estimador retorna um objeto SageMakerModel.

    nota

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

    O método fit faz o seguinte:

    1. Converte a entrada DataFrame para o formato protobuf. Isso é feito selecionando as label colunas features e da entradaDataFrame. Em seguida, ele carrega os dados do protobuf em um bucket do Amazon S3. O formato protobuf é eficiente para treinamento de modelos em. SageMaker

    2. Inicia o treinamento do modelo SageMaker enviando uma SageMaker CreateTrainingJobsolicitação. Após a conclusão do treinamento do modelo, SageMaker salva os artefatos do modelo em um bucket do S3.

      SageMaker assume a função do IAM que você especificou para o treinamento do modelo para realizar tarefas em seu nome. Por exemplo, para ler dados de treinamento de um bucket do S3 e gravar artefatos de modelo em um bucket.

    3. Cria e retorna um objeto SageMakerModel. O construtor executa as tarefas a seguir, relacionadas à implantação do seu modelo no. SageMaker

      1. Envia uma CreateModelsolicitação para SageMaker.

      2. Envia uma solicitação CreateEndpointConfig ao SageMaker.

      3. Envia uma CreateEndpointsolicitação para SageMaker, que então inicia os recursos especificados e hospeda o modelo neles.

  3. Você pode obter inferências do seu modelo hospedado SageMaker com o. SageMakerModel.transform

    Forneça uma entrada DataFrame com recursos como entrada. O método transform transforma-a em um DataFrame que contém inferências. Internamente, o transform método envia uma solicitação à InvokeEndpoint SageMaker API para obter inferências. O método transform anexa as inferências à entrada DataFrame.