En este documento, se explican los conceptos clave, los componentes fundamentales, las funciones principales y los beneficios de Dataproc. Comprender estos aspectos fundamentales te ayudará a usar Dataproc de manera eficaz para tus tareas de procesamiento de datos.
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 de procesamiento de datos personal, 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 del clúster, los tipos de máquinas y la configuración.
- 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, lo envías 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 organiza 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 con plantilla 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 para optimizar de forma dinámica el costo y el rendimiento del clúster.
El modelo sin servidores
Serverless para Apache Spark es el modelo moderno de Dataproc de ejecución automatizada. Te permite ejecutar trabajos sin aprovisionar, administrar ni ajustar la escala de 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 para Apache Spark aprovisiona los recursos necesarios a pedido, ejecuta el trabajo y, luego, los desglosa. No creas ni administras recursos de clúster o de trabajo; el servicio hace el trabajo por ti.
- 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 y administrar recursos de clúster y notebook.
- 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 sesiones interactivas 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 tablas y 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 notebook y desarrollo
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: Estos son entornos unificados de análisis y notebook. 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 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 del extremo, lo que facilita la conexión de tu entorno de Python local, como un notebook 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 necesidades específicas. La sección Utilidades de la Google Cloud consola contiene herramientas útiles para personalizar tu entorno de Dataproc.