Crea una instancia habilitada para Dataproc Spark
En esta página, se describe cómo crear una instancia de Vertex AI Workbench habilitada para Dataproc Spark. En esta página, también se describen los beneficios de la extensión de JupyterLab de Dataproc y se proporciona una descripción general sobre cómo usar la extensión con Dataproc sin servidores y Dataproc en Compute Engine.
Descripción general de la extensión de JupyterLab de Dataproc
Las instancias de Vertex AI Workbench tienen la extensión JupyterLab de Dataproc preinstalada a partir de la versión M113
.
La extensión de Dataproc JupyterLab proporciona dos formas de ejecutar trabajos de notebooks de Apache Spark: clústeres de Dataproc y Dataproc Serverless.
- Los clústeres de Dataproc 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 te permite personalizar y controlar tu entorno. Este enfoque es ideal para cargas de trabajo complejas, trabajos de larga duración y administración de recursos detallada.
- Dataproc Serverless elimina los problemas de infraestructura. Envías tus trabajos de Spark y Google se encarga del aprovisionamiento, el escalamiento y la optimización de los recursos en segundo plano. 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 y el análisis de datos. La elección entre los clústeres de Dataproc y Dataproc Serverless depende de los requisitos específicos de tu carga de trabajo, el nivel de control requerido y los patrones de uso de los recursos.
Los beneficios de usar Dataproc sin servidores 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: Dataproc Serverless 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: Dataproc Serverless está optimizado para el rendimiento y aprovecha la infraestructura de Google Cloud.
- Integración con otras Google Cloud tecnologías: Dataproc Serverless se integra con otros Google Cloud productos, como BigQuery y el catálogo universal de Dataplex.
Para obtener más información, consulta la documentación de Dataproc Serverless.
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.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
Trabajador de Dataproc (
roles/dataproc.worker
) en tu proyecto -
Editor de Dataproc (
roles/dataproc.editor
) en el clúster para el permisodataproc.clusters.use
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
En la consola de Google Cloud , ve a la página Instancias.
Haz clic en
Crear nuevo.En el cuadro de diálogo Instancia nueva, haz clic en Opciones avanzadas.
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.
Asegúrate de que Tipo de trabajo esté configurado como Instancia.
En la sección Environment, asegúrate de usar la versión más reciente o una versión con el número
M113
o superior.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.
Selecciona Configuración > Configuración de Cloud Dataproc.
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.
Para reiniciar JupyterLab, selecciona Archivo > Cerrar y, luego, haz clic en Abrir JupyterLab en la página de instancias de Vertex AI Workbench..
Tus entradas de DNS están configuradas correctamente.
Hay un clúster disponible en el mismo proyecto (o deberás crear uno si no existe).
Tu clúster tiene habilitados tanto la puerta de enlace del componente como el componente opcional de Jupyter.
Si deseas obtener más información sobre la extensión de JupyterLab de Dataproc, consulta Cómo usar la extensión de JupyterLab para desarrollar cargas de trabajo de Spark sin servidores.
Para obtener más información sobre Dataproc Serverless, consulta la documentación de Dataproc Serverless.
Para obtener más información sobre el uso de Spark con los productos y servicios de Google Cloud , consulta Spark en Google Cloud.
Explora las plantillas de Dataproc disponibles en GitHub.
Obtén información sobre Serverless Spark a través de
serverless-spark-workshop
en GitHub.Lee la documentación de Apache Spark.
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:
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 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:
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:
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 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 Dataproc Cluster Notebooks.
Usa la extensión con Dataproc Serverless
Las plantillas del entorno de ejecución de Dataproc Serverless 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 Dataproc Serverless.
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 Spark sin servidores, 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 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:
Para crear un cuaderno 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 una instancia con gcloud CLI y la API
En esta sección, se describen las formas de administrar Dataproc en una instancia de Vertex AI Workbench.
Cómo cambiar la región de tu clúster de Dataproc
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 Dataproc, tu notebook se ejecuta en un clúster de Dataproc 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 Dataproc dentro del mismo proyecto.
De forma predeterminada, Vertex AI Workbench usa clústeres de Dataproc dentro de la misma región que tu instancia, pero puedes cambiar la región de Dataproc siempre que la puerta de enlace de componentes y el componente opcional de Jupyter estén habilitados en el clúster de Dataproc.
Pruebe el acceso
La extensión de Dataproc JupyterLab está habilitada de forma predeterminada para las instancias de Vertex AI Workbench. Para probar el acceso a Dataproc, 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 lo siguiente:
Desactiva Dataproc
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
Habilitar Dataproc
Puedes habilitar Dataproc en una instancia de Vertex AI Workbench detenida actualizando el valor de los metadatos.
gcloud workbench instances update 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.
Solucionar problemas
Para diagnosticar y resolver problemas relacionados con la creación de una instancia habilitada para Dataproc Spark, consulta Solución de problemas de Vertex AI Workbench.