Usa Serverless para Apache Spark con notebooks administrados
En esta página, se muestra cómo ejecutar un archivo de notebook en Spark sin servidores en una instancia de notebooks administrados de Vertex AI Workbench con Google Cloud Serverless para Apache Spark.
Tu instancia de notebooks administrados puede enviar el código de un archivo de notebook para ejecutarlo en el servicio de Serverless para Apache Spark. El servicio ejecuta el código en una infraestructura de procesamiento administrada que escala los recursos de forma automática según sea necesario. Por lo tanto, no necesitas aprovisionar ni administrar tu propio clúster.
Los cargos de Serverless para Apache Spark se aplican solo al momento en que se ejecuta la carga de trabajo.
Requisitos
Para ejecutar un archivo de notebook en Serverless para Apache Spark, consulta los siguientes requisitos.
Tu sesión de Serverless para Apache Spark se debe ejecutar en la misma región que tu instancia de notebooks administrados.
La restricción Requiere Acceso al SO (
constraints/compute.requireOsLogin
) no debe estar habilitada para tu proyecto. Consulta Administra el Acceso al SO en una organización.Para ejecutar un archivo de notebook en Serverless para Apache Spark, debes proporcionar una cuenta de servicio que tenga permisos específicos. Puedes otorgar estos permisos a la cuenta de servicio predeterminada o proporcionar una cuenta de servicio personalizada. Consulta la sección Permisos de esta página.
Tu sesión de Serverless para Apache Spark usa una red de nube privada virtual (VPC) para ejecutar cargas de trabajo. La subred de VPC debe cumplir con requisitos específicos. Consulta los requisitos en Google Cloud Configuración de la red de Spark para Serverless para Apache Spark.
Permisos
Para garantizar que la cuenta de servicio tenga los permisos necesarios para ejecutar un archivo de notebook en Serverless para Apache Spark, pídele a tu administrador que otorgue a la cuenta de servicio el rol de IAM de editor de Dataproc (roles/dataproc.editor
) en tu proyecto.
Este rol predefinido contiene los permisos necesarios para ejecutar un archivo de notebook en Serverless para Apache Spark. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Los siguientes permisos son necesarios para ejecutar un archivo de notebook en Serverless para Apache Spark:
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.session.create
-
dataproc.sessions.get
-
dataproc.sessions.list
-
dataproc.sessions.terminate
-
dataproc.sessions.delete
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
Es posible que tu administrador también pueda otorgar estos permisos a la cuenta de servicio con roles personalizados o con otros roles predefinidos.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Si aún no lo has hecho, configura una red de VPC que cumpla con los requisitos enumerados en Google Cloud Configuración de la red de Serverless para Apache Spark.
En la consola de Google Cloud , ve a la página Notebooks administrados.
Junto al nombre de la instancia de notebooks administrados, haz clic en Abrir JupyterLab.
En la interfaz de JupyterLab de la instancia de notebooks administrados, selecciona la pestaña Launcher y, luego, Serverless Spark. Si la pestaña Launcher no está abierta, selecciona File > New Launcher para abrirla.
Aparecerá el cuadro de diálogo Create Serverless Spark session.
En el campo Session name, ingresa un nombre para tu sesión.
En la sección Execution configuration, ingresa la cuenta de servicio que deseas usar. Si no ingresas una cuenta de servicio, tu sesión usará la cuenta de servicio predeterminada de Compute Engine.
En la sección Configuración de red, selecciona la Red y la Subred de una red que cumpla con los requisitos enumerados en Configuración de red deGoogle Cloud Serverless para Apache Spark.
Haz clic en Crear.
Se abrirá un archivo de notebook nuevo. La sesión de Serverless para Apache Spark que creaste es el kernel que ejecuta el código de tu archivo de notebook.
Agrega el código al archivo de notebook nuevo y ejecútalo.
Para ejecutar código en un kernel diferente, cambia el kernel.
Cuando desees volver a ejecutar el código en tu sesión de Serverless para Apache Spark, vuelve a cambiar el kernel al de Serverless para Apache Spark.
En JupyterLab, cierra el archivo del notebook que se creó cuando creaste tu sesión de Serverless para Apache Spark.
En el cuadro de diálogo que aparece, haz clic en Terminate session.
En la consola de Google Cloud , ve a la página Sesiones de Dataproc.
Selecciona la sesión que deseas finalizar y haz clic en Finalizar.
En la consola de Google Cloud , ve a la página Sesiones de Dataproc.
Selecciona la sesión que deseas borrar y, luego, haz clic en Borrar.
- Obtén más información sobre Serverless para Apache Spark.
Abre JupyterLab
Inicia una sesión de Serverless para Apache Spark
Para iniciar una sesión de Serverless para Apache Spark, completa los siguientes pasos.
Ejecuta tu código en Serverless para Apache Spark y otros kernels
Finaliza tu sesión de Serverless para Apache Spark
Puedes finalizar una sesión de Serverless para Apache Spark en la interfaz de JupyterLab o en la Google Cloud consola. Se conserva el código del archivo de notebook.
JupyterLab
Consola de Google Cloud
Borra tu sesión de Serverless para Apache Spark
Puedes borrar una sesión de Serverless para Apache Spark con la consola Google Cloud . Se conserva el código del archivo de notebook.