Familiarizarse con los conceptos clave de Dataproc

Para sacar el máximo partido a Dataproc, es útil conocer sus componentes básicos. En esta guía se explican los conceptos y las funciones principales de Dataproc, así como las ventajas que ofrecen estas funciones.

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, formado por 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 varios trabajos 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 tareas, por ejemplo, para ejecutar una tarea de aprendizaje automático solo después de que se complete correctamente una tarea 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, ya que 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 en directo 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: una plantilla de sesión es una configuración reutilizable 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 almacén de metadatos

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 los 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 facilita 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.