Crea una instancia habilitada para Spark de Managed Service para Apache Spark

En esta página, se describe cómo crear una instancia de Vertex AI Workbench habilitada para Spark de Managed Service para Apache Spark. En esta página, también se describen los beneficios de la extensión de JupyterLab de Managed Service para Apache Spark y se proporciona una descripción general sobre cómo usar la extensión con Managed Service para Apache Spark y Managed Service para Apache Spark en Compute Engine.

Descripción general de la extensión de JupyterLab de Managed Service para Apache Spark

Las instancias de Vertex AI Workbench tienen la extensión de JupyterLab de Managed Service para Apache Spark preinstalada a partir de la versión M113.

La extensión de JupyterLab de Managed Service para Apache Spark proporciona dos formas de ejecutar trabajos de notebooks de Apache Spark: clústeres de Managed Service para Apache Spark y Managed Service para Apache Spark.

  • Los clústeres de Managed Service para Apache Spark incluyen un amplio conjunto de funciones con control sobre la infraestructura en la que se ejecuta Spark. Tú eliges el tamaño y la configuración de tu clúster de Spark, lo que permite la personalización y el control sobre tu entorno. Este enfoque es ideal para cargas de trabajo complejas, trabajos de larga duración y administración de recursos detallada.
  • Managed Service para Apache Spark elimina las preocupaciones sobre la infraestructura. Envías tus trabajos de Spark y Google se encarga del aprovisionamiento, el escalamiento y la optimización de los recursos tras bambalinas. Este enfoque sin servidores ofrece una opción rentable para las cargas de trabajo de ciencia de datos y AA.

Con ambas opciones, puedes usar Spark para el procesamiento de datos y el análisis. La elección entre los clústeres de Managed Service para Apache Spark y Managed Service para Apache Spark depende de los requisitos específicos de tu carga de trabajo, el nivel de control deseado y los patrones de uso de los recursos.

Los beneficios de usar Managed Service para Apache Spark para las cargas de trabajo de ciencia de datos y AA incluyen los siguientes:

  • Sin administración de clústeres: No necesitas preocuparte por aprovisionar, configurar ni administrar clústeres de Spark. Esto te ahorra tiempo y recursos.
  • Ajuste de escala automático: Managed Service para Apache Spark aumenta y disminuye automáticamente la escala según la carga de trabajo, por lo que solo pagas por los recursos que usas.
  • Alto rendimiento: Managed Service para Apache Spark está optimizado para el rendimiento y aprovecha la infraestructura de Google Cloud's.
  • Integración con otras Google Cloud tecnologías: Managed Service para Apache Spark se integra en otros Google Cloud productos, como BigQuery y Knowledge Catalog.

Para obtener más información, consulta la documentación de Managed Service para Apache Spark.

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Roles obligatorios

Para garantizar que la cuenta de servicio tenga los permisos necesarios para ejecutar un archivo de notebook en un clúster de Managed Service para Apache Spark o un clúster de Managed Service para Apache Spark, pídele a tu administrador que otorgue los siguientes roles de IAM a la cuenta de servicio:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para ejecutar un archivo de notebook en un clúster de Managed Service para Apache Spark o un clúster de Managed Service para Apache Spark. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ejecutar un archivo de notebook en un clúster de Managed Service para Apache Spark o un clúster de Managed Service para Apache Spark:

  • dataproc.agents.create
  • dataproc.agents.delete
  • dataproc.agents.get
  • dataproc.agents.update
  • dataproc.tasks.lease
  • dataproc.tasks.listInvalidatedLeases
  • dataproc.tasks.reportStatus
  • dataproc.clusters.use

Es posible que tu administrador también pueda otorgar estos permisos a la cuenta de servicio con roles personalizados o con otros roles predefinidos.

Crea una instancia con Managed Service para Apache Spark habilitado

Para crear una instancia de Vertex AI Workbench con Managed Service para Apache Spark habilitado, haz lo siguiente:

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

    Ir a Instancias

  2. Haz clic en  Crear nuevo.

  3. En el cuadro de diálogo Instancia nueva, haz clic en Opciones avanzadas.

  4. En el cuadro de diálogo Crear instancia, en la sección Detalles, asegúrate de que Habilitar sesiones interactivas sin servidor de Dataproc esté seleccionado.

  5. Asegúrate de que Tipo de trabajo esté configurado como Instancia.

  6. En la sección Entorno, asegúrate de usar la versión más reciente o una versión numerada como M113 o superior.

  7. Haz clic en Crear.

    Vertex AI Workbench crea una instancia y la inicia de forma automática. Cuando la instancia está lista para usarse, Vertex AI Workbench activa un vínculo Abrir JupyterLab.

Abre JupyterLab

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

La pestaña Launcher de JupyterLab se abre en tu navegador. De forma predeterminada, contiene secciones para Notebooks de Managed Service para Apache Spark y Trabajos y sesiones de Managed Service para Apache Spark. Si hay clústeres listos para Jupyter en el proyecto y la región seleccionados, habrá una sección llamada Notebooks de clúster de Managed Service para Apache Spark.

Usa la extensión con Managed Service para Apache Spark

Las plantillas del entorno de ejecución de Managed Service para Apache Spark que están en la misma región y el mismo proyecto que tu instancia de Vertex AI Workbench aparecen en la sección Notebooks de Managed Service para Apache Spark de la pestaña Launcher de JupyterLab.

Para crear una plantilla de entorno de ejecución, consulta Crea una plantilla de entorno de ejecución de Managed Service para Apache Spark runtime template.

Para abrir un nuevo notebook de Serverless Spark, haz clic en una plantilla de entorno de ejecución. El kernel remoto de Spark tarda aproximadamente un minuto en iniciarse. Una vez que se inicia el kernel, puedes comenzar a programar.

Usa la extensión con Managed Service para Apache Spark en Compute Engine

Si creaste un clúster de Jupyter de Managed Service para Apache Spark en Compute Engine, la pestaña Launcher tiene una sección Notebooks de clúster de Managed Service para Apache Spark.

Aparecen cuatro tarjetas para cada clúster de Managed Service para Apache Spark listo para Jupyter al que tienes acceso en esa región y proyecto.

Para cambiar la región y el proyecto, haz lo siguiente:

  1. Selecciona Configuración > Configuración de Cloud Managed Service para Apache Spark.

  2. En la pestaña Configuración de la instalación, en Información del proyecto, cambia el ID del proyecto y la Región y, luego, haz clic en Guardar.

    Los cambios no se aplicarán hasta que reinicies JupyterLab.

  3. Para reiniciar JupyterLab, selecciona Archivo > Cerrar y, luego, haz clic en Abrir JupyterLab en la página de instancias de Vertex AI Workbench..

Para crear un cuaderno nuevo, haz clic en una tarjeta. Después de que se inicia el kernel remoto en el clúster de Managed Service para Apache Spark, puedes comenzar a escribir tu código y, luego, ejecutarlo en el clúster.

Administra Managed Service para Apache Spark en una instancia con gcloud CLI y la API

En esta sección, se describen las formas de administrar Managed Service para Apache Spark en una instancia de Vertex AI Workbench.

Cambia la región de tu clúster de Managed Service para Apache Spark

Los kernels predeterminados de tu instancia de Vertex AI Workbench, como Python y TensorFlow, son kernels locales que se ejecutan en la VM de la instancia. En una instancia de Vertex AI Workbench habilitada para Spark de Managed Service para Apache Spark, tu notebook se ejecuta en un clúster de Managed Service para Apache Spark a través de un kernel remoto. El kernel remoto se ejecuta en un servicio fuera de la VM de tu instancia, lo que te permite acceder a cualquier clúster de Managed Service para Apache Spark dentro del mismo proyecto.

De forma predeterminada, Vertex AI Workbench usa clústeres de Managed Service para Apache Spark dentro de la misma región que tu instancia, pero puedes cambiar la región de Managed Service para Apache Spark siempre que la puerta de enlace de componentes y el componente opcional de Jupyter estén habilitados en el clúster de Managed Service para Apache Spark.

Pruebe el acceso

La extensión de JupyterLab de Managed Service para Apache Spark está habilitada de forma predeterminada para las instancias de Vertex AI Workbench. Para probar el acceso a Managed Service para Apache Spark, puedes verificar el acceso a los kernels remotos de tu instancia enviando la siguiente solicitud de curl al dominio kernels.googleusercontent.com:

curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .

Si el comando curl falla, verifica que se cumplan las siguientes condiciones:

  1. Tus entradas de DNS estén configuradas correctamente.

  2. Hay un clúster disponible en el mismo proyecto (o deberás crear uno si no existe).

  3. Tu clúster tiene habilitados la puerta de enlace de componentes y el componente opcional de Jupyter

Desactiva Managed Service para Apache Spark

Las instancias de Vertex AI Workbench se crean con Managed Service para Apache Spark habilitado de forma predeterminada. Puedes crear una instancia de Vertex AI Workbench con Managed Service para Apache Spark desactivado si configuras la clave disable-mixer metadata como true.

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

Habilita Managed Service para Apache Spark

Puedes habilitar Managed Service para Apache Spark en una instancia de Vertex AI Workbench detenida a través de la actualización del valor de metadatos.

gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false

Administra Managed Service para Apache Spark con Terraform

Managed Service para Apache Spark para las instancias de Vertex AI Workbench en Terraform se administra a través de la clave disable-mixer en el campo de metadatos. Para activar Managed Service para Apache Spark, configura la clave disable-mixer metadata como false. Para desactivar Managed Service para Apache Spark, configura la clave de metadatos disable-mixer como true.

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "cloud-notebooks-managed"
      family  = "workbench-instances"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

Solucionar problemas

Para diagnosticar y resolver problemas relacionados con la creación de una instancia habilitada para Spark de Managed Service para Apache Spark, consulta Solución de problemas de Vertex AI Workbench.

¿Qué sigue?