En este documento se explican los conceptos clave, los componentes básicos, las funciones principales y las ventajas de Dataproc. Conocer estos conceptos básicos te ayudará a usar Dataproc de forma eficaz para tus tareas de procesamiento de datos.
Modelo basado en clústeres
Esta es la forma estándar de usar Dataproc, centrada en la infraestructura. Te ofrece un control total sobre un conjunto dedicado de máquinas virtuales para tus tareas de procesamiento de datos.
- Clústeres: un clúster es tu motor de procesamiento de datos personales, que se compone de Google Cloud máquinas virtuales. Crea un clúster para ejecutar frameworks de código abierto, como Apache Spark y Apache Hadoop. Tienes control total sobre el tamaño del clúster, los tipos de máquinas y la configuración.
- Tareas: una tarea es una acción específica, como un script de PySpark o una consulta de Hadoop. En lugar de ejecutar una tarea directamente en un clúster, puedes enviarla al servicio Dataproc, que gestiona la ejecución de la tarea. Puedes enviar varias tareas al clúster.
- Plantillas de flujo de trabajo: una definición reutilizable que coordina una serie de tareas (un flujo de trabajo). Puede definir dependencias entre trabajos, por ejemplo, para ejecutar un trabajo de aprendizaje automático solo después de que se complete correctamente un trabajo de limpieza de datos. El flujo de trabajo basado en plantillas se puede ejecutar en un clúster ya creado o en un clúster temporal (efímero) que se crea para ejecutar el flujo de trabajo y, a continuación, se elimina cuando se completa. Puedes usar la plantilla para ejecutar el flujo de trabajo definido cuando sea necesario.
- Políticas de autoescalado: una política de autoescalado contiene reglas que defines para añadir o quitar máquinas de trabajo de un clúster en función de la carga de trabajo del clúster. De esta forma, se optimizan dinámicamente el coste y el rendimiento del clúster.
El modelo sin servidor
Serverless para Apache Spark es el modelo de Dataproc moderno y de ejecución automatizada. Te permite ejecutar trabajos sin aprovisionar, gestionar ni escalar la infraestructura subyacente. Serverless para Apache Spark se encarga de los detalles.
- Lotes: un lote (también llamado carga de trabajo por lotes) es el equivalente sin servidor de una tarea de Dataproc. Envías tu código, como un trabajo de Spark, al servicio. Serverless para Apache Spark aprovisiona los recursos necesarios bajo demanda, ejecuta el trabajo y, a continuación, los elimina. No tienes que crear ni gestionar recursos de clústeres o trabajos, ya que el servicio se encarga de ello.
- Sesiones interactivas: las sesiones interactivas proporcionan un entorno activo y bajo demanda para el análisis exploratorio de datos, normalmente en un cuaderno de Jupyter. Las sesiones interactivas ofrecen la comodidad de un espacio de trabajo temporal y sin servidor que puedes usar para ejecutar consultas y desarrollar código sin tener que aprovisionar ni gestionar recursos de clústeres y cuadernos.
- Plantillas de sesión: son configuraciones reutilizables que puedes usar para definir sesiones interactivas. La plantilla contiene ajustes de sesión, como propiedades de Spark y dependencias de bibliotecas. Puedes usar la plantilla para crear entornos de sesión interactivos para el desarrollo, normalmente en un cuaderno de Jupyter.
Servicios de metastore
Dataproc ofrece servicios gestionados para gestionar metadatos, que son los datos sobre tus datos.
- Metastore un metastore es un catálogo central de esquemas de datos, como nombres de tablas y columnas, y tipos de datos. Un metastore permite que diferentes servicios, clústeres y trabajos comprendan la estructura de tus datos. Normalmente, el catálogo se almacena en Cloud Storage.
- Federación: la federación de metadatos es una función avanzada que te permite acceder a datos de varios metastores y consultarlos como si accedieras a un único metastore unificado.
Cuadernos y entornos de desarrollo
Los cuadernos y los IDEs de Dataproc se vinculan a entornos de desarrollo integrados en los que puedes escribir y ejecutar tu código.
- BigQuery Studio y Workbench: se trata de entornos de analíticas y cuadernos unificados. Te permiten escribir código (por ejemplo, en un cuaderno de Jupyter) y usar un clúster de Dataproc o una sesión sin servidor como motor backend potente para ejecutar tu código en grandes conjuntos de datos.
- Complemento JupyterLab de Dataproc: esta extensión oficial de JupyterLab actúa como panel de control de Dataproc en tu entorno de cuaderno. Simplifica tu flujo de trabajo, ya que te permite buscar, crear y gestionar clústeres, así como enviar trabajos, sin tener que salir de la interfaz de Jupyter. Más información
- Conector de Python de Dataproc Spark Connect: esta biblioteca de Python simplifica el proceso de uso de Spark Connect con Dataproc. Gestiona la autenticación y la configuración de endpoints, lo que simplifica mucho la conexión de tu entorno de Python local, como un cuaderno o un IDE, a un clúster de Dataproc remoto para el desarrollo interactivo. Más información
Personalización del entorno
Dataproc ofrece herramientas y componentes para personalizar tu entorno y adaptarlo a tus necesidades específicas. La sección Utilidades de la consola Google Cloud contiene herramientas útiles para personalizar tu entorno de Dataproc.