Compara las implementaciones sin servidores y de clústeres de Managed Service para Apache Spark

El Servicio administrado 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 compatibilidad total 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 de clústeres del Servicio administrado para Apache Spark, consulta Descripción general de la implementación de clústeres del Servicio administrado para Apache Spark.

Compara las implementaciones de Managed Service para Apache Spark

En la siguiente tabla, se enumeran las diferencias clave entre el clúster de Managed Service para Apache Spark y las implementaciones sin servidores.

Implementación 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 No
Hora de inicio 50 s 120
Control de la infraestructura No
Administración de recursos Sin servidores YARN
Asistencia de GPU Yes
Sesiones interactivas No
Contenedores personalizados Yes No
Acceso a la VM (SSH) No
Versiones de Java Java 17 y 21 Java 17 y versiones anteriores

Decide la mejor implementación de Managed Service for Apache Spark

En esta sección, se describen las principales ventajas y los casos de uso principales del servicio administrado para Apache Spark para ayudarte a seleccionar la mejor implementación del servicio administrado 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 for Apache Spark ofrece trabajos de Spark como servicio, que ejecutan Spark en una infraestructura Google Cloudcompletamente administrada. Pagas por el tiempo de ejecución del trabajo.
  • Implementación de clústeres: Ofrece clústeres de Spark como servicio, que ejecutan Spark administrado en tu infraestructura de Compute Engine. Pagas por el tiempo de actividad del clúster.

Debido a estas diferencias, cada implementación del servicio administrado para Apache Spark es más adecuada para los siguientes casos de uso:

Implementación Casos de uso
sin servidores Diferentes entornos de trabajo dedicados
Cargas de trabajo por lotes programadas
Administración de código priorizada por sobre la administración de infraestructura
clúster Entornos compartidos y 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 Es un 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 enviar código y especificar parámetros de Spark Mayor control sobre la configuración del clúster, los tipos de máquinas y el software Capacidad para usar VMs Spot y reutilizar reservas y capacidad de recursos de Compute Engine Adecuado para cargas de trabajo que dependen de formas de VM específicas, como arquitecturas de CPU.
Casos de uso Consultas ad hoc, análisis interactivos, nuevas canalizaciones 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 parámetros de configuración personalizados, cargas de trabajo que requieren una personalización profunda
Sobrecarga operativa Menor sobrecarga: Google Cloud administra la infraestructura, el ajuste de escala 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: Los recursos de procesamiento se asignan solo cuando se ejecuta el trabajo. No hay costos 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 múltiples usuarios compartido.
Control de ubicación Managed Service for Apache Spark admite cargas de trabajo regionales sin costo adicional para proporcionar mayor confiabilidad y disponibilidad. Los clústeres son zonales. La zona se puede seleccionar automáticamente durante la creación del clúster.
Costo Solo se factura la duración de la ejecución del trabajo de Spark, sin incluir el inicio ni el cierre, según los recursos consumidos. Se factura como unidades de procesamiento de datos (DCU) usadas y otros costos de infraestructura. Se factura el tiempo que se ejecuta el clúster, incluido el inicio y el cierre, según la cantidad de nodos. Incluye la tarifa de licencia del servicio administrado para Apache Spark y el costo de infraestructura.
Descuentos por compromiso de uso (CUD) Los CUD basados en la inversión de BigQuery se aplican a los trabajos de Managed Service for Apache Spark. Los CUD de Compute Engine se aplican a todo el uso de recursos.
Control de imágenes y del entorno de ejecución Los usuarios pueden fijar versiones secundarias del entorno de ejecución de Managed Service for Apache Spark. Las versiones secundarias se administran con Managed Service for Apache Spark. Los usuarios pueden fijar versiones secundarias y terciarias de imágenes del servicio administrado para Apache Spark.
Administración de recursos sin servidores YARN
Compatibilidad con GPU Yes Yes
Sesiones interactivas No
Contenedores personalizados Yes No
Acceso a la VM (SSH) No Yes
Versiones de Java Java 17, 21 Versiones anteriores compatibles
Tiempo de inicio 50 s 120

Cuándo elegir la implementación sin servidores

La implementación sin servidores del servicio administrado 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 las siguientes situaciones de procesamiento de datos:

  • Análisis interactivo y ad hoc: Para los analistas y científicos 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 creas nuevas canalizaciones o aplicaciones de datos en Spark, Managed Service for Apache Spark puede acelerar significativamente el desarrollo, ya que elimina la sobrecarga operativa de la administración de clústeres.
  • Cargas de trabajo con demanda esporádica o impredecible: Para los trabajos de Spark intermitentes o los 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 de los desarrolladores: Al eliminar la necesidad de aprovisionar y administrar clústeres, el servicio administrado para Apache Spark acelera la creación de la lógica empresarial, proporciona estadísticas más rápido y aumenta la productividad.
  • Operaciones simplificadas y reducción de la sobrecarga: La administración de la infraestructura del servicio administrado para Apache Spark reduce las cargas y los costos operativos.

Cuándo elegir la implementación de clústeres

Puedes usar la implementación de clústeres de Managed Service for 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 las siguientes situaciones:

  • 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.
  • Personalización y control avanzados: Te permite personalizar los tipos de máquinas del 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 en trabajos complejos y de larga duración.
  • Clústeres persistentes y de ejecución prolongada: Admite clústeres persistentes y trabajos de Spark continuos y de ejecución prolongada 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 la seguridad: Permite controlar la infraestructura para cumplir con estándares específicos de seguridad o cumplimiento, 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 un clúster del servicio administrado para Apache Spark o una implementación sin servidores depende de los requisitos de tu carga de trabajo, las preferencias operativas y el nivel de control que prefieras.

  • Elige Managed Service for Apache Spark sin servidores por su facilidad de uso, rentabilidad para cargas de trabajo intermitentes y su capacidad de acelerar el desarrollo de nuevas aplicaciones de Spark, ya que elimina la sobrecarga de la administración de la infraestructura.
  • Elige el servicio administrado para clústeres de Apache Spark cuando necesites el máximo control, debas 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 del servicio administrado para Apache Spark más eficiente y rentable para ejecutar Spark y aprovechar todo el potencial de tus datos.