Para aprovechar al máximo Dataproc, es útil comprender sus componentes fundamentales. En esta guía, se explican los conceptos y las funciones principales de Dataproc, así como los beneficios que proporcionan estas funciones.
El modelo basado en clústeres
Esta es la forma estándar y centrada en la infraestructura de usar Dataproc. Te brinda 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 personal de procesamiento de datos, compuesto por Google Cloud máquinas virtuales. Creas un clúster para ejecutar frameworks de código abierto, como Apache Spark y Apache Hadoop. Tienes control total sobre el tamaño, los tipos de máquinas y la configuración del clúster.
- Trabajos: Un trabajo es una tarea específica, como una secuencia de comandos de PySpark o una consulta de Hadoop. En lugar de ejecutar un trabajo directamente en un clúster, envíalo al servicio de Dataproc, que administra la ejecución del trabajo por ti. Puedes enviar varios trabajos al clúster.
- Plantillas de flujo de trabajo: Una plantilla de flujo de trabajo es una definición reutilizable que coordina una serie de trabajos (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 existente o en un clúster temporal (efímero) que se crea para ejecutar el flujo de trabajo y, luego, se borra después de que se completa el flujo de trabajo. Puedes usar la plantilla para ejecutar el flujo de trabajo definido cuando sea necesario.
- Políticas de ajuste de escala automático: Una política de ajuste de escala automático contiene reglas que defines para agregar o quitar máquinas de trabajo de un clúster según la carga de trabajo del clúster, con el objetivo de optimizar de forma dinámica el costo y el rendimiento del clúster.
El modelo sin servidores
Serverless for Apache Spark es el modelo de Dataproc moderno y de ejecución automatizada. Te permite ejecutar trabajos sin aprovisionar, administrar ni escalar la infraestructura subyacente: Serverless para Apache Spark se encarga de los detalles por ti.
- Lotes: Un lote (también llamado carga de trabajo por lotes) es el equivalente sin servidores de un trabajo de Dataproc. Envías tu código, como un trabajo de Spark, al servicio. Serverless for Apache Spark aprovisiona los recursos necesarios a pedido, ejecuta el trabajo y, luego, los desactiva. No necesitas crear ni administrar recursos de clústeres o trabajos. El servicio se encarga de todo.
- Sesiones interactivas: Las sesiones interactivas proporcionan un entorno activo y a pedido para el análisis exploratorio de datos, por lo general, dentro de un notebook de Jupyter. Las sesiones interactivas proporcionan la comodidad de un espacio de trabajo temporal y sin servidores que puedes usar para ejecutar consultas y desarrollar código sin tener que aprovisionar ni administrar recursos de clústeres y notebooks.
- Plantillas de sesión: Una plantilla de sesión es una configuración reutilizable que puedes usar para definir sesiones interactivas. La plantilla contiene parámetros de configuración de la sesión, como las propiedades de Spark y las dependencias de la biblioteca. Usas la plantilla para crear entornos de sesión interactivos para el desarrollo, por lo general, dentro de un notebook de Jupyter.
Servicios de Metastore
Dataproc proporciona servicios administrados para controlar los metadatos, que son los datos sobre tus datos.
- Metastore: Un metastore actúa como un catálogo central para el esquema de datos, como los nombres de las tablas y las columnas, y los tipos de datos. Un metastore permite que diferentes servicios, clústeres y trabajos comprendan la estructura de tus datos. Por lo general, 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 los datos de varios metastores y consultarlos como si accedieras a un solo metastore unificado.
Entornos de desarrollo y notebooks
Los notebooks y los IDE de Dataproc se vinculan a entornos de desarrollo integrados en los que puedes escribir y ejecutar tu código.
- BigQuery Studio y Workbench: Son entornos unificados de análisis y notebooks. Te permiten escribir código (por ejemplo, en un notebook de Jupyter) y usar un clúster de Dataproc o una sesión sin servidores como el potente motor de backend para ejecutar tu código en conjuntos de datos grandes.
- Complemento de JupyterLab de Dataproc: Esta extensión oficial de JupyterLab actúa como un panel de control para Dataproc dentro de tu entorno de notebook. Simplifica tu flujo de trabajo, ya que te permite explorar, crear y administrar clústeres, y 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 optimiza el proceso de uso de Spark Connect con Dataproc. Controla la autenticación y la configuración de extremos, lo que simplifica mucho la conexión de tu entorno local de Python, como un notebook o un IDE, a un clúster remoto de Dataproc para el desarrollo interactivo. Más información
Personalización del entorno
Dataproc ofrece herramientas y componentes para personalizar tu entorno y adaptarlo a necesidades específicas. La sección Utilidades de la consola de Google Cloud contiene herramientas útiles para personalizar tu entorno de Dataproc.