Usa Spark sin servidores de Dataproc 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 mediante Dataproc Serverless.

Tu instancia de notebooks administrados puede enviar el código de un archivo de notebook para ejecutarlo en el servicio de Dataproc Serverless. 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 Dataproc Serverless se aplican solo al momento en que se ejecuta la carga de trabajo.

Requisitos

Para ejecutar un archivo de notebook en Spark de Dataproc Serverless, consulta los siguientes requisitos.

  • Tu sesión de Dataproc Serverless 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 Dataproc Serverless, 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 Spark de Dataproc Serverless 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 Configuración de la red de Dataproc Serverless para Spark.

Permisos

Para garantizar que la cuenta de servicio tenga los permisos necesarios que le permitan ejecutar un archivo de notebook en Dataproc Serverless, 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. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para ejecutar un archivo de notebook en Dataproc Serverless. 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 Dataproc Serverless:

  • 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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

  8. Si aún no lo hiciste, crea una instancia de notebooks administrados.
  9. Si aún no lo has hecho, configura una red de VPC que cumpla con los requisitos enumerados en Configuración de la red de Dataproc Serverless para Spark.

Abre JupyterLab

  1. En la consola de Google Cloud, ve a la página Notebooks administrados.

    Ir a Notebooks administrados

  2. Junto al nombre de la instancia de notebooks administrados, haz clic en Abrir JupyterLab.

Inicia una sesión de Spark de Dataproc Serverless

Para iniciar una sesión de Spark de Dataproc Serverless, completa los siguientes pasos.

  1. 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.

  2. En el campo Session name, ingresa un nombre para tu sesión.

  3. 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.

  4. En la sección Network configuration, selecciona la red y la subred de una red que cumpla con los requisitos enumerados en Configuración de la red de Dataproc Serverless para Spark.

  5. Haz clic en Crear.

    Se abrirá un archivo de notebook nuevo. La sesión de Spark de Dataproc Serverless que creaste es el kernel que ejecuta el código de tu archivo de notebook.

Ejecuta tu código en Spark de Dataproc Serverless y otros kernels

  1. Agrega el código al archivo de notebook nuevo y ejecútalo.

  2. Para ejecutar código en un kernel diferente, cambia el kernel.

  3. Cuando desees volver a ejecutar el código en tu sesión de Spark de Dataproc Serverless, vuelve a cambiar el kernel al de Spark de Dataproc Serverless.

Finaliza tu sesión de Spark de Dataproc Serverless

Puedes finalizar una sesión de Spark de Dataproc Serverless en la interfaz de JupyterLab o en la consola de Google Cloud. Se conserva el código del archivo de notebook.

JupyterLab

  1. En JupyterLab, cierra el archivo del notebook que se creó cuando creaste tu sesión de Spark de Dataproc Serverless.

  2. En el cuadro de diálogo que aparece, haz clic en Terminate session.

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página de sesiones de Dataproc.

    Ir a Sesiones de Dataproc

  2. Selecciona la sesión que deseas finalizar y haz clic en Finalizar.

Borra tu sesión de Spark de Dataproc Serverless

Puedes borrar una sesión de Spark sin servidores de Dataproc con la consola de Google Cloud. Se conserva el código del archivo de notebook.

  1. En la consola de Google Cloud, ve a la página de sesiones de Dataproc.

    Ir a Sesiones de Dataproc

  2. Selecciona la sesión que deseas borrar y, luego, haz clic en Borrar.

¿Qué sigue?