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 interfazorg.apache.spark.ml.Estimator
. Puedes usar este estimador para el entrenamiento de modelos en. SageMaker -
KMeansSageMakerEstimator
,PCASageMakerEstimator
yXGBoostSageMakerEstimator
: amplía la claseSageMakerEstimator
. -
SageMakerModel
: amplía la claseorg.apache.spark.ml.Model
. Puede usarloSageMakerModel
para alojar modelos y obtener inferencias. 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 utilizas Amazon EMR on AWS para gestionar los clústeres de Spark, consulta Apache Spark
Temas
Integre su aplicación Apache Spark con SageMaker
El siguiente es un resumen de alto nivel de los pasos para integrar su aplicación Apache Spark con SageMaker.
-
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 sus datos en unDataFrame
. Procéselo previamente para que tenga unafeatures
columna conorg.apache.spark.ml.linalg.Vector
deDoubles
y unalabel
columna opcional con valores deDouble
tipo. -
Usa el estimador de la biblioteca de SageMaker Spark para entrenar tu modelo. Por ejemplo, si eliges el algoritmo k-means proporcionado por SageMaker para el entrenamiento del modelo, llama al método.
KMeansSageMakerEstimator.fit
Proporcione
DataFrame
como entrada. El estimador devuelve un objetoSageMakerModel
.nota
SageMakerModel
amplíaorg.apache.spark.ml.Model
.El método
fit
realiza lo siguiente:-
Convierte la entrada
DataFrame
al formato protobuf. Para ello, selecciona laslabel
columnasfeatures
y de la entrada.DataFrame
A continuación, carga los datos de protobuf en un bucket de Amazon S3. El formato protobuf es eficaz para el entrenamiento de modelos. SageMaker -
Inicia el entrenamiento de modelos SageMaker mediante el envío de una SageMaker
CreateTrainingJob
solicitud. Una vez finalizado el entrenamiento con el modelo, SageMaker guarda los artefactos del modelo en un bucket de S3.SageMaker asume la IAM función 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.
-
Crea y devuelve un objeto
SageMakerModel
. El constructor realiza las siguientes tareas, relacionadas con la implementación del modelo en SageMaker.-
Envía una
CreateModel
solicitud a SageMaker. -
Envía una solicitud
CreateEndpointConfig
a SageMaker. -
Envía una
CreateEndpoint
solicitud a SageMaker, que luego lanza los recursos especificados y aloja el modelo en ellos.
-
-
-
Puede obtener inferencias de su modelo SageMaker alojado en.
SageMakerModel.transform
Proporcione una entrada
DataFrame
con características como entrada. El métodotransform
lo transforma en unDataFrame
que contiene inferencias. Internamente, eltransform
método envía una solicitud al paraInvokeEndpoint
SageMaker APIobtener inferencias. El métodotransform
anexa las inferencias a la entradaDataFrame
.