Managed Service para Apache Spark ahora incluye las opciones de productos anteriores "Dataproc en Compute Engine" (implementación de clúster) y la anterior "Google Cloud Serverless para Apache Spark" (implementación sin servidores).
Si bien ambas opciones proporcionan un entorno de Spark administrado, altamente escalable, listo para la producción y seguro que es compatible con OSS con asistencia completa para formatos de datos, difieren en la forma en que administran la infraestructura subyacente y facturan los recursos. Revisa las siguientes funciones y casos de uso para ayudarte a elegir una solución de Spark.
Para obtener más información sobre las implementaciones sin servidores de Managed Service para Apache Spark, consulta Descripción general de la implementación sin servidores de Managed Service para Apache Spark.
Compara las implementaciones de Managed Service para Apache Spark
En la siguiente tabla, se enumeran las diferencias clave entre las implementaciones de clúster y sin servidores de Managed Service para Apache Spark.
| Deployment | Sin servidores | Clúster |
|---|---|---|
| Frameworks de procesamiento | Cargas de trabajo por lotes y sesiones interactivas: Spark | Spark. Otros frameworks de código abierto, como Hive, Flink, Trino y Kafka |
| Sin servidores | Sí | No |
| Hora de inicio | 50s | 120s |
| Control de la infraestructura | No | Sí |
| Administración de recursos | Sin servidores | YARN |
| Asistencia de GPU | Sí | Sí |
| Sesiones interactivas | Sí | No |
| Contenedores personalizados | Sí | No |
| Acceso a la VM (SSH) | No | Sí |
| Versiones de Java | Java 17, 21 | Java 17 y versiones anteriores |
Decide sobre la mejor implementación de Managed Service para Apache Spark
En esta sección, se describen las principales ventajas y los casos de uso principales de Managed Service para Apache Spark para ayudarte a seleccionar la mejor implementación de Managed Service para Apache Spark (clúster o sin servidores) para tus cargas de trabajo de Spark.
Descripción general
Las implementaciones de Managed Service para Apache Spark difieren en el grado de control, la administración de la infraestructura y el modo de facturación que ofrece cada una.
- Implementación sin servidores: Managed Service para Apache Spark ofrece trabajos de Spark como servicio, que ejecuta Spark en una infraestructura completamente administrada. Google Cloud Pagas por el tiempo de ejecución del trabajo.
- Implementación de clúster: Ofrece clústeres de Spark como servicio, que ejecuta Spark administrado en tu infraestructura de Compute Engine. Pagas por el tiempo de actividad del clúster.
Debido a estas diferencias, cada implementación de Managed Service para Apache Spark es más adecuada para los siguientes casos de uso:
| Deployment | Casos de uso |
|---|---|
| Sin servidores | Diferentes entornos de trabajo dedicados Cargas de trabajo por lotes programadas Administración de código priorizada sobre la administración de la infraestructura |
| Clúster | Entornos compartidos de larga duración Cargas de trabajo que requieren un control detallado sobre la infraestructura Migración de entornos heredados de Hadoop y Spark |
Diferencias clave
| Función | Implementación sin servidores | Implementación de clúster |
|---|---|---|
| Modelo de administración | Entorno de ejecución completamente administrado y sin servidores. | Basado en clústeres. Aprovisionas y administras clústeres. |
| Control y personalización | Menos control de la infraestructura, con enfoque en el envío de código y la especificación de parámetros de Spark. | Mayor control sobre la configuración del clúster, los tipos de máquinas y el software. Capacidad de usar VMs Spot y reutilizar reservas y capacidad de recursos de Compute Engine. Adecuado para cargas de trabajo que tienen una dependencia de formas de VM específicas, como arquitecturas de CPU. |
| Casos de uso | Consultas ad hoc, análisis interactivos, canalizaciones nuevas de Spark y cargas de trabajo con necesidades de recursos impredecibles. | Clústeres compartidos de larga duración, migración de cargas de trabajo existentes de Hadoop y Spark con configuraciones personalizadas, cargas de trabajo que requieren una personalización profunda. |
| Sobrecarga operativa | Menor sobrecarga. Google Cloud administra la infraestructura, el escalamiento y el aprovisionamiento, lo que permite un modelo NoOps. Gemini Cloud Assist facilita la solución de problemas, mientras que el ajuste automático sin servidores ayuda a proporcionar un rendimiento óptimo. |
Mayor sobrecarga que requiere administración, escalamiento y mantenimiento del clúster. |
| Modelo de eficiencia | Sin sobrecarga de procesamiento inactivo: asignación de recursos de procesamiento solo cuando se ejecuta el trabajo. Sin costo de inicio ni detención. Se admiten sesiones interactivas compartidas para mejorar la eficiencia. | Eficiencia obtenida al compartir clústeres entre trabajos y equipos, con un modelo de uso compartido y de varios usuarios. |
| Control de ubicación | Managed Service para Apache Spark admite cargas de trabajo regionales sin costo adicional para proporcionar confiabilidad y disponibilidad adicionales. | Los clústeres son zonales. La zona se puede seleccionar automáticamente durante la creación del clúster. |
| Costo | Se factura solo por la duración de la ejecución del trabajo de Spark, sin incluir el inicio y la finalización, según los recursos consumidos. Se factura como unidades de procesamiento de datos (DCU) usadas y otros costos de infraestructura. | Se factura por el tiempo que se ejecuta el clúster, incluido el inicio y la finalización, según la cantidad de nodos. Incluye la tarifa de licencia de Managed Service para Apache Spark más el costo de la infraestructura. |
| Descuentos por compromiso de uso (CUD) | Los CUD basados en la inversión de BigQuery se aplican a los trabajos de Managed Service para Apache Spark. | Los CUD de Compute Engine se aplican a todo el uso de recursos. |
| Control de imagen y entorno de ejecución | Los usuarios pueden fijar versiones secundarias del entorno de ejecución de Managed Service para Apache Spark; Managed Service para Apache Spark administra las versiones secundarias. | Los usuarios pueden fijar versiones secundarias y secundarias de la imagen de Managed Service para Apache Spark. |
| Administración de recursos | Sin servidores | YARN |
| Asistencia de GPU | Sí | Sí |
| Sesiones interactivas | Sí | No |
| Contenedores personalizados | Sí | No |
| Acceso a la VM (SSH) | No | Sí |
| Versiones de Java | Java 17, 21 |
Se admiten versiones anteriores |
| Hora de inicio | 50s | 120s |
Cuándo elegir la implementación sin servidores
La implementación sin servidores de Managed Service para Apache Spark abstrae las complejidades de la administración de clústeres, lo que te permite enfocarte en el código de Spark. Esto lo convierte en una excelente opción para usar en los siguientes casos de procesamiento de datos:
- Análisis interactivo y ad hoc: Para los científicos y analistas de datos que ejecutan consultas interactivas y análisis exploratorios con Spark, el modelo sin servidores proporciona una forma rápida de comenzar sin enfocarse en la infraestructura.
- Aplicaciones y canalizaciones basadas en Spark: Cuando compilas canalizaciones o aplicaciones de datos nuevas en Spark, Managed Service para Apache Spark puede acelerar significativamente el desarrollo quitando la sobrecarga operativa de la administración de clústeres.
- Cargas de trabajo con demanda esporádica o impredecible: Para trabajos de Spark intermitentes o trabajos con requisitos de recursos fluctuantes, el ajuste de escala automático sin servidores y los precios de pago por uso (se aplican cargos al consumo de recursos del trabajo) pueden reducir significativamente los costos.
- Enfoque en la productividad del desarrollador: Al eliminar la necesidad de aprovisionar y administrar clústeres, Managed Service para Apache Spark acelera la creación de lógica empresarial, proporciona estadísticas más rápidas y aumenta la productividad.
- Operaciones simplificadas y sobrecarga reducida: La administración de la infraestructura de Managed Service para Apache Spark reduce las cargas y los costos operativos.
Cuándo elegir la implementación de clúster
Puedes usar la implementación de clúster de Managed Service para Apache Spark para ejecutar Apache Spark y otros frameworks de procesamiento de datos de código abierto. Ofrece un alto grado de control y flexibilidad, lo que la convierte en la opción preferida en los siguientes casos:
- Migración de cargas de trabajo existentes de Hadoop y Spark: Admite la migración de clústeres locales de Hadoop o Spark a Google Cloud. Replica las configuraciones existentes con cambios mínimos en el código, en especial cuando usas versiones anteriores de Spark.
- Control y personalización profundos: Te permite personalizar los tipos de máquinas de clúster, los tamaños de los discos y la configuración de red. Este nivel de control es fundamental para ajustar el rendimiento y optimizar el uso de recursos para trabajos complejos y de larga duración.
- Clústeres persistentes y de larga duración: Admite trabajos de Spark continuos y de larga duración, y clústeres persistentes para varios equipos y proyectos.
- Ecosistema diverso de código abierto: Proporciona un entorno unificado para ejecutar canalizaciones de procesamiento de datos que ejecutan herramientas del ecosistema de Hadoop, como Hive, Pig o Presto, con tus cargas de trabajo de Spark.
- Cumplimiento de seguridad: Permite el control sobre la infraestructura para cumplir con estándares de seguridad o cumplimiento específicos, como la protección de la información de identificación personal (PII) o la información de salud protegida (PHI).
- Flexibilidad de la infraestructura: Ofrece VMs Spot y la capacidad de reutilizar reservas y capacidad de recursos de Compute Engine para equilibrar el uso de recursos y facilitar tu estrategia de infraestructura de nube.
En resumen
La decisión de usar la implementación de clúster o sin servidores de Managed Service para Apache Spark depende de los requisitos de tu carga de trabajo, las preferencias operativas y el nivel de control preferido.
- Elige Managed Service para Apache Spark sin servidores por su facilidad de uso, rentabilidad para cargas de trabajo intermitentes y su capacidad de acelerar el desarrollo de aplicaciones nuevas de Spark quitando la sobrecarga de la administración de la infraestructura.
- Elige clústeres de Managed Service para Apache Spark cuando necesites el máximo control, necesites migrar cargas de trabajo de Hadoop o Spark, o requieras un entorno de clúster persistente, personalizado y compartido.
Después de evaluar los factores que se enumeran en esta sección, selecciona la implementación de Managed Service para Apache Spark más eficiente y rentable para ejecutar Spark y liberar todo el potencial de tus datos.