Crea una instancia con Dataproc habilitado

En esta página, se describe cómo crear una instancia de Vertex AI Workbench habilitada para Dataproc. En esta página, también se describen los beneficios del complemento JupyterLab de Dataproc y se proporciona una descripción general sobre cómo usar el complemento con Dataproc Serverless para Spark y Dataproc en Compute Engine.

Descripción general del complemento JupyterLab de Dataproc

Las instancias de Vertex AI Workbench tienen el complemento JupyterLab de Dataproc preinstalado, a partir de la versión M113 y posteriores.

El complemento JupyterLab de Dataproc proporciona dos formas de ejecutar trabajos de notebooks de Apache Spark: clústeres de Serverless Dataproc y Spark en Dataproc.

  • Los clústeres de Dataproc incluyen un amplio conjunto de funciones que tienen control sobre la infraestructura en la que se ejecuta Spark. Elige 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.
  • Serverless Spark con la tecnología de Dataproc elimina los problemas de infraestructura. Debes enviar tus trabajos de Spark, y Google se encargará del aprovisionamiento, el escalamiento y la optimización de los recursos en segundo plano. Este enfoque sin servidores ofrece una opción fácil y rentable para las cargas de trabajo de ciencia de datos y AA.

Con ambas opciones, puedes usar Spark para el procesamiento y análisis de datos. La elección entre los clústeres de Dataproc y Serverless 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 Serverless Spark para las cargas de trabajo de ciencia de datos y AA incluyen los siguientes:

  • No hay administración de clústeres: no necesitas preocuparte por aprovisionar, configurar o administrar clústeres de Spark. Esto te ahorra tiempo y recursos.
  • Ajuste de escala automático: Serverless 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: Serverless Spark está optimizado para el rendimiento y aprovecha la infraestructura de Google Cloud.
  • Integración en otras tecnologías de Google Cloud: Serverless Spark se integra en otros productos de Google Cloud, como BigQuery y Dataplex.

Para obtener más información, consulta la documentación de Dataproc Serverless.

Limitaciones y consideraciones de Dataproc

  • Los trabajos de Spark se ejecutan con la identidad de la cuenta de servicio, no con la identidad del usuario que envía la solicitud.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. 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. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Habilita las API de Cloud Resource Manager, Dataproc, and Notebooks.

    Habilita las API

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Habilita las API de Cloud Resource Manager, Dataproc, and Notebooks.

    Habilita las API

Roles obligatorios

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

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

Estos roles predefinidos contienen los permisos necesarios para ejecutar un archivo de notebook en un clúster de Dataproc Serverless o un clúster de Dataproc. 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 un clúster de Dataproc Serverless o un clúster de Dataproc:

  • 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 Dataproc habilitado

Para crear una instancia de Vertex AI Workbench con Dataproc habilitado, haz lo siguiente:

  1. En la consola de Google Cloud, 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 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 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 Selector de JupyterLab se abrirá en tu navegador. De forma predeterminada, contiene secciones para Notebooks de Serverless Dataproc y Sesiones y trabajos de Dataproc. 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 Dataproc.

Usa el complemento con Dataproc Serverless para Spark

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

Para crear una plantilla de entorno de ejecución, consulta Crea una plantilla de entorno de ejecución de Dataproc Serverless.

Para abrir un nuevo notebook de Serverless Spark, haz clic en una plantilla de entorno de ejecución. El kernel remoto de Spark tarda alrededor de un minuto en iniciarse. Una vez iniciado el kernel, puedes comenzar a codificar. Para ejecutar tu código en Serverless Spark, ejecuta una celda de código en el notebook.

Usa el complemento con Dataproc en Compute Engine

Si creaste un clúster de Jupyter en Dataproc en Compute Engine, la pestaña Launcher tiene una sección Dataproc Cluster Notebooks.

Aparecen cuatro tarjetas para cada clúster de Dataproc 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 Dataproc.

  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.

    Estos 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 notebook nuevo, haz clic en una tarjeta. Después de que se inicia el kernel remoto en el clúster de Dataproc, puedes comenzar a escribir tu código y, luego, ejecutarlo en el clúster.

Administra Dataproc en la instancia de Vertex AI Workbench con gcloud CLI

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

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

Dataproc se puede habilitar en una instancia de Vertex AI Workbench detenida a través de la actualización del valor de metadatos.

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

Administra Dataproc con Terraform

Dataproc 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 Dataproc, configura la clave disable-mixer metadata como false. Para desactivar Dataproc, 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 = "deeplearning-platform-release"
      family  = "tf-latest-gpu"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

¿Qué sigue?