Usa Apache Spark con Amazon SageMaker - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usa Apache Spark con Amazon SageMaker

Amazon SageMaker Spark es una biblioteca de Spark de código abierto que te ayuda a crear canalizaciones de aprendizaje automático (ML) de Spark. SageMaker Esto simplifica la integración de las etapas de ML de Spark con otras SageMaker etapas, como la formación de modelos y el alojamiento. Para obtener información sobre SageMaker Spark, consulta el GitHub repositorio de SageMaker Spark.

La biblioteca SageMaker Spark está disponible en Python y Scala. Puedes usar SageMaker Spark para entrenar modelos en el SageMaker uso de marcos de org.apache.spark.sql.DataFrame datos en tus clústeres de Spark. Tras el entrenamiento con el modelo, también puedes alojar el modelo mediante los servicios de SageMaker alojamiento.

La biblioteca SageMaker Spark proporcionacom.amazonaws.services.sagemaker.sparksdk, entre otras, las siguientes clases:

  • SageMakerEstimator: amplía la interfaz org.apache.spark.ml.Estimator. Puede utilizar este estimador para la capacitación de modelos en SageMaker.

  • KMeansSageMakerEstimator, PCASageMakerEstimator y XGBoostSageMakerEstimator: amplía la clase SageMakerEstimator.

  • SageMakerModel: amplía la clase org.apache.spark.ml.Model. Puede utilizar SageMakerModel para el modelo que aloja y obtiene inferencias en SageMaker.

Puedes descargar el código fuente de las bibliotecas Python Spark (PySpark) y Scala desde el GitHub repositorio de SageMaker Spark.

Para ver la instalación y ver ejemplos de la biblioteca SageMaker Spark, consulta SageMaker Ejemplos de Spark for Scala oSageMaker Ejemplos de Spark para Python (PySpark).

Si usa Amazon EMR AWS para administrar los clústeres de Spark, consulte Apache Spark. Para obtener más información sobre el uso de Amazon EMR en SageMaker, consulte. Preparar los datos con Amazon EMR

Integrar su aplicación de Apache Spark con SageMaker

El siguiente es un resumen detallado de los pasos para integrar su aplicación Apache Spark con SageMaker.

  1. Siga con el preprocesamiento de datos mediante la biblioteca de Apache Spark con la que está familiarizado. Su conjunto de datos sigue siendo un DataFrame en el clúster de Spark. Cargue los datos en un DataFrame y preprocéselo de manera que disponga de una columna features con org.apache.spark.ml.linalg.Vector de Doubles y una columna label opcional con los valores de tipo Double​.

  2. Usa el estimador de la biblioteca de SageMaker Spark para entrenar tu modelo. Por ejemplo, si eliges el algoritmo k-means que se proporciona SageMaker para el entrenamiento del modelo, llamas al método. KMeansSageMakerEstimator.fit

    Proporcione DataFrame como entrada. El estimador devuelve un objeto SageMakerModel.

    nota

    SageMakerModel amplía org.apache.spark.ml.Model.

    El método fit realiza lo siguiente:

    1. Convierte la entrada DataFrame en el formato protobuf seleccionando las columnas features y label desde la entrada DataFrame y cargando los datos de protobuf en un bucket de Amazon S3. El formato protobuf es eficiente para la capacitación de modelos en SageMaker.

    2. Inicia el entrenamiento del modelo SageMaker mediante el envío de una SageMaker CreateTrainingJobsolicitud. Una vez finalizado el entrenamiento con el modelo, SageMaker guarda los artefactos del modelo en un bucket de S3.

      SageMaker asume la función de IAM que especificó para el entrenamiento de modelos para realizar tareas en su nombre. Por ejemplo, usa el rol para leer los datos de capacitación desde un bucket de S3 y escribir artefactos de modelos en un bucket.

    3. Crea y devuelve un objeto SageMakerModel. El constructor realiza las siguientes tareas, que están relacionadas con la implementación de su modelo en SageMaker.

      1. Envía una CreateModelsolicitud a. SageMaker

      2. Envía una solicitud CreateEndpointConfig a SageMaker.

      3. Envía una CreateEndpointsolicitud a SageMaker, que luego lanza los recursos especificados y aloja el modelo en ellos.

  3. Puede obtener inferencias de su modelo SageMaker alojado en. SageMakerModel.transform

    Proporcione una entrada DataFrame con características como entrada. El método transform lo transforma en un DataFrame que contiene inferencias. Internamente, el transform método envía una solicitud a la InvokeEndpoint SageMaker API para obtener inferencias. El método transform anexa las inferencias a la entrada DataFrame.