En este documento, se explican los conceptos clave, los componentes fundamentales, las funciones principales y los beneficios de Managed Service para Apache Spark. Comprender estos conceptos básicos te ayudará a usar Managed Service para Apache Spark de manera eficaz para tus tareas de procesamiento de datos.
El modelo sin servidores
Managed Service para Apache Spark sin servidores es el modelo moderno y de ejecución automatizada de Managed Service para Apache Spark. Te permite ejecutar trabajos sin aprovisionar, administrar ni ajustar la escala de la infraestructura subyacente: Managed Service 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 Managed Service para Apache Spark. Envías tu código, como un trabajo de Spark, al servicio. Managed Service para Apache Spark aprovisiona los recursos necesarios a pedido, ejecuta el trabajo y, luego, los desglosa. No necesitas crear ni administrar 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 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.
El modelo basado en clústeres
Managed Service para Apache Spark en clústeres es la forma estándar y centrada en la infraestructura de usar Managed Service para Apache Spark. 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 a Managed Service para Apache Spark, 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.
Personalización del entorno
Managed Service para Apache Spark en clústeres ofrece funciones y componentes de clúster que puedes usar para personalizar el entorno de tu aplicación.
Entornos de notebook y desarrollo
Los notebooks y los IDE de Managed Service para Apache Spark sin servidores 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 notebook. Te permiten escribir código (por ejemplo, en un notebook de Jupyter) y usar un clúster de Managed Service para Apache Spark 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 Managed Service para Apache Spark: Esta
JupyterLabextensionoficial actúa como un panel de control para Managed Service para Apache Spark sin servidores 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. - Conector de Python de Managed Service para Apache Spark Connect: Esta biblioteca de Python optimiza el proceso de uso de Spark Connect con Managed Service para Apache Spark. Administra la autenticación y la configuración del extremo, lo que facilita la conexión de tu entorno local de Python, como un notebook o un IDE, a un clúster remoto de Managed Service para Apache Spark para el desarrollo interactivo.
El modelo de contenedor
Managed Service para Apache Spark en Google Kubernetes Engine implementa clústeres virtuales de Managed Service para Apache Spark en un clúster de GKE. A diferencia de los clústeres de Managed Service para Apache Spark, los clústeres virtuales de Managed Service para Apache Spark no aprovisionan VMs principales y de trabajo independientes. En cambio, aprovisionan grupos de nodos dentro de un clúster de GKE. Los trabajos de Managed Service para Apache Spark en GKE se ejecutan como pods en estos grupos de nodos. Los grupos de nodos y la programación de pods en los grupos de nodos se administran con Managed Service para Apache Spark en GKE.