Usa Streaming Engine para trabajos de transmisión

Streaming Engine de Dataflow retira la ejecución de la canalización de las máquinas virtuales (VM) de trabajador y la traslada hacia el backend del servicio de Dataflow. Cuando no usas Streaming Engine para los trabajos de transmisión, el ejecutor de Dataflow ejecuta los pasos de la canalización de transmisión por completo en las VM de trabajador, lo que consume CPU, memoria y almacenamiento en disco persistente.

Streaming Engine está habilitado de forma predeterminada para las siguientes canalizaciones:

  • Canalizaciones de transmisión que usan la versión 2.21.0 o posterior del SDK de Apache Beam para Python y Python 3.
  • Canalizaciones de transmisión que usan la versión 2.33.0 o posterior del SDK de Apache Beam para Go.

Para obtener más información sobre la implementación de Streaming Engine, consulta Streaming Engine: Modelo de ejecución para el procesamiento de datos altamente escalable y de baja latencia.

Beneficios

El modelo de Streaming Engine tiene los siguientes beneficios:

  • Menor uso de recursos de CPU, memoria y almacenamiento Persistent Disk en las VMs de trabajador. Streaming Engine funciona mejor con tipos de máquinas de trabajador que tienen menos CPU virtuales (por ejemplo, 2 CPU virtuales en lugar de 4 CPU virtuales). No requiere Persistent Disk además de un disco de arranque pequeño, lo que genera un menor consumo de recursos y cuotas.
  • Ajuste de escala automático horizontal más sensible en la respuesta a las variaciones en el volumen de datos entrantes. Streaming Engine ofrece un escalamiento más uniforme y detallado de los trabajadores.
  • Compatibilidad mejorada, ya que no es necesario volver a implementar las canalizaciones para aplicar las actualizaciones del servicio.

La mayor parte de la reducción en los recursos de los trabajadores proviene de transferir el trabajo al servicio de Dataflow. Por esa razón, hay un costo asociado con el uso de Streaming Engine.

Asistencia y limitaciones