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

Managed Service para Apache Spark ahora incluye las opciones de productos anteriores "Dataproc en Compute Engine" (implementación de clústeres) y "Google Cloud Serverless for Apache Spark" (implementación sin servidores).

Si bien ambas opciones proporcionan un entorno de Spark administrado, altamente escalable, listo para producción y seguro que es compatible con OSS y ofrece 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 la 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 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 cuál es 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 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 de Managed Service 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: Tú aprovisionas y administras los 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 tienen una dependencia en 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 para 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 y el cierre, según los recursos consumidos. Se factura como unidades de procesamiento de datos (DCU) utilizadas 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 de Managed Service 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 para 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 para Apache Spark. Managed Service para Apache Spark administra las versiones secundarias. Los usuarios pueden fijar versiones secundarias y terciarias de imágenes de Managed Service 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 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 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 para 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 del desarrollador: Al eliminar la necesidad de aprovisionar y administrar clústeres, Managed Service 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 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ústeres

Puedes usar la implementación de clústeres 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 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 profundos: 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 la utilización 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 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 de Managed Service 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 para 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 clústeres de Managed Service para 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 de Managed Service para Apache Spark más eficiente y rentable para ejecutar Spark y aprovechar todo el potencial de tus datos.