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.
SDKEjemplo de creación de un trabajo de cuaderno con SageMaker Python
Para ejecutar un cuaderno independiente con SageMaker PythonSDK, debe crear un paso de trabajo de Notebook, adjuntarlo a una canalización y utilizar las utilidades que proporciona Pipelines para ejecutar el trabajo bajo demanda o, si lo desea, programar uno o más trabajos futuros. En las siguientes secciones se describen los pasos básicos para crear un trabajo de cuaderno programado o bajo demanda y realizar un seguimiento de la ejecución. Además, consulte el siguiente análisis si necesita transferir parámetros a su tarea de portátil o conectarse a Amazon desde su portátil; EMR en estos casos, se requiere una preparación adicional de su cuaderno Jupyter. También puede aplicar valores predeterminados a un subconjunto de los argumentos para no tener NotebookJobStep
que especificarlos cada vez que cree un paso de Notebook Job.
Para ver ejemplos de cuadernos que muestran cómo programar trabajos de cuadernos con SageMaker PythonSDK, consulte cuadernos de ejemplos de trabajos de cuadernos
Temas
- Pasos para crear un trabajo de cuaderno
- Consulta los trabajos de tu bloc de notas en el panel de la interfaz de usuario de Studio
- Consulta el gráfico de tu proceso en Studio
- Pasar los parámetros a su cuaderno
- Conexión a un EMR clúster de Amazon en tu bloc de notas de entrada
- Configure las opciones predeterminadas
Pasos para crear un trabajo de cuaderno
Puede crear un trabajo de cuaderno que se ejecute de forma inmediata o según una programación. En las instrucciones siguientes se describen ambos métodos.
Para programar un trabajo de portátil, complete los siguientes pasos básicos:
-
Crear una instancia de
NotebookJobStep
. Para obtener más información sobreNotebookJobStep
los parámetros, consulte sagemaker.workflow.steps. NotebookJobStep. Como mínimo, puede proporcionar los siguientes argumentos, tal y como se muestra en el siguiente fragmento de código: importante
Si programa el trabajo del bloc de notas con SageMaker PythonSDK, solo podrá especificar determinadas imágenes para ejecutar el trabajo del bloc de notas. Para obtener más información, consulte Restricciones de imagen para trabajos de SDK cuadernos de SageMaker Python.
notebook_job_step = NotebookJobStep( input_notebook=
input-notebook
, image_uri=image-uri
, kernel_name=kernel-name
) -
Crea una canalización con la
NotebookJobStep
tuya en un solo paso, como se muestra en el siguiente fragmento:pipeline = Pipeline( name=
pipeline-name
, steps=[notebook_job_step], sagemaker_session=sagemaker-session
, ) -
Ejecute la canalización a pedido o, si lo desea, programe futuros recorridos de canalización. Para iniciar una ejecución inmediata, utilice el siguiente comando:
execution = pipeline.start( parameters={...} )
Si lo desea, puede programar una sola ejecución futura de una canalización o varias ejecuciones en un intervalo predeterminado. Especificas tu programación
PipelineSchedule
y, a continuación, pasas el objeto de programación a tu canalización con ellaput_triggers
. Para obtener más información sobre la programación de canalizaciones, consultePrograma una canalización con SageMaker Python SDK.En el siguiente ejemplo, se programa la canalización para que se ejecute una vez, el 12 de diciembre de 2023 a las UTC 10:31:32.
my_schedule = PipelineSchedule( name="my-schedule“, at=datetime(year=2023, month=12, date=25, hour=10, minute=31, second=32) ) pipeline.put_triggers(triggers=[my_schedule])
En el siguiente ejemplo, se programa tu canalización para que se ejecute a las 10:15 horas UTC del último viernes de cada mes durante los años 2022 a 2023. Para obtener más información sobre la programación basada en CRON, consulta Programaciones basadas en CRON.
my_schedule = PipelineSchedule( name="my-schedule“, cron="15 10 ? * 6L 2022-2023" ) pipeline.put_triggers(triggers=[my_schedule])
-
(Opcional) Vea los trabajos de su bloc de notas en el panel de control de trabajos de bloc de SageMaker notas. Los valores que proporciones para el
tags
argumento del paso de trabajo de Notebook controlan la forma en que la interfaz de usuario de Studio captura y muestra el trabajo. Para obtener más información, consulte Consulta los trabajos de tu bloc de notas en el panel de la interfaz de usuario de Studio.
Consulta los trabajos de tu bloc de notas en el panel de la interfaz de usuario de Studio
Los trabajos de bloc de notas que cree como pasos de la canalización aparecen en el panel de tareas de Studio Notebook si especifica determinadas etiquetas.
nota
Solo los trabajos de bloc de notas creados en Studio o en JupyterLab entornos locales crean definiciones de trabajos. Por lo tanto, si crea su trabajo de bloc de notas con SageMaker PythonSDK, no verá las definiciones de trabajo en el panel de trabajos de bloc de notas. Sin embargo, puede ver los trabajos de su cuaderno tal y como se describe enVer los trabajos del cuaderno.
Puede controlar qué miembros del equipo pueden ver los trabajos de su bloc de notas con las siguientes etiquetas:
-
Para mostrar el bloc de notas a todos los perfiles de usuario o espacios de un dominio, añade la etiqueta de dominio con tu nombre de dominio. A continuación se muestra un ejemplo:
-
clave:
sagemaker:domain-name
, valor:d-abcdefghij5k
-
-
Para mostrar el trabajo del bloc de notas a un perfil de usuario determinado de un dominio, añada tanto el perfil de usuario como las etiquetas del dominio. A continuación se muestra un ejemplo de etiqueta de perfil de usuario:
-
clave:
sagemaker:user-profile-name
, valor:studio-user
-
-
Para mostrar el trabajo del cuaderno en un espacio, añada las etiquetas de espacio y dominio. A continuación se muestra un ejemplo de etiqueta de espacio:
-
clave:
sagemaker:shared-space-name
, valor:my-space-name
-
-
Si no adjuntas ningún dominio, perfil de usuario o etiqueta de espacio, la interfaz de usuario de Studio no mostrará el trabajo del bloc de notas creado por paso del proceso. En este caso, puedes ver el trabajo de formación subyacente en la consola de trabajos de formación o puedes ver el estado en la lista de ejecuciones en proceso.
Una vez que haya configurado las etiquetas necesarias para ver sus trabajos en el panel de control, consulte Ver los trabajos del cuaderno las instrucciones sobre cómo ver los trabajos y descargar los resultados.
Consulta el gráfico de tu proceso en Studio
Como el paso de trabajo de tu cuaderno forma parte de un proceso, puedes ver el gráfico del proceso (DAG) en Studio. En el gráfico del oleoducto, puede ver el estado del recorrido del oleoducto y su linaje. Para obtener más información, consulte Vea los detalles del recorrido de un oleoducto.
Pasar los parámetros a su cuaderno
Si quiere pasar parámetros al trabajo de su cuaderno (utilizando el parameters
argumento deNotebookJobStep
), debe preparar el cuaderno de entrada para recibir los parámetros.
El ejecutor de tareas del cuaderno basado en Papermill busca una celda de Jupyter etiquetada con la parameters
etiqueta y aplica los nuevos parámetros o las anulaciones de parámetros inmediatamente después de esta celda. Para obtener más información, consulte Parametrizar el cuaderno.
Una vez que haya realizado este paso, pase los parámetros a la suya, tal y como se muestra en el siguiente NotebookJobStep
ejemplo:
notebook_job_parameters = { "company": "Amazon" } notebook_job_step = NotebookJobStep( image_uri=
image-uri
, kernel_name=kernel-name
, role=role-name
, input_notebook=input-notebook
, parameters=notebook_job_parameters, ... )
Conexión a un EMR clúster de Amazon en tu bloc de notas de entrada
Si te conectas a un EMR clúster de Amazon desde tu bloc de notas de Jupyter en Studio, es posible que tengas que seguir modificando tu bloc de notas de Jupyter. Comprueba Conéctate a un EMR clúster de Amazon desde tu portátil si necesitas realizar alguna de las siguientes tareas en tu bloc de notas:
-
Transfiere los parámetros a tu comando de EMR conexión a Amazon. Studio usa Papermill para ejecutar cuadernos. En los SparkMagic kernels, es posible que los parámetros que pases a tu comando de EMR conexión a Amazon no funcionen según lo esperado debido a la forma en que Papermill pasa la información. SparkMagic
-
Pasar las credenciales de usuario a clústeres de Amazon autenticados por Kerberos o HTTP Basic Auth. LDAP EMR Debe pasar las credenciales de usuario a través del. AWS Secrets Manager
Configure las opciones predeterminadas
Te SageMaker SDK da la opción de establecer los valores predeterminados de un subconjunto de parámetros para que no tengas que especificarlos cada vez que crees una NotebookJobStep
instancia. Estos parámetros sonrole
,s3_root_uri
, s3_kms_key
volume_kms_key
subnets
, y. security_group_ids
Utilice el archivo de SageMaker configuración para establecer los valores predeterminados del paso. Para obtener información sobre el archivo de SageMaker configuración, consulte Configuración y uso de valores predeterminados con SageMaker Python SDK
Para configurar los valores predeterminados de los trabajos del cuaderno, aplique los nuevos valores predeterminados a la sección de trabajos del cuaderno del archivo de configuración, tal y como se muestra en el siguiente fragmento:
SageMaker: PythonSDK: Modules: NotebookJob: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' S3RootUri: 's3://amzn-s3-demo-bucket/my-project' S3KmsKeyId: 's3kmskeyid' VolumeKmsKeyId: 'volumekmskeyid1' VpcConfig: SecurityGroupIds: - 'sg123' Subnets: - 'subnet-1234'