Usa Dataflow Prime

Dataflow Prime es una plataforma de procesamiento de datos sin servidores para canalizaciones de Apache Beam. Dataflow Prime se basa en Dataflow y usa una arquitectura de procesamiento y separada por estados, además de incluir muchas funciones nuevas. Las canalizaciones que usan Dataflow Prime se benefician de la administración automatizada y optimizada de recursos, la reducción de costos operativos y las capacidades de diagnóstico.

Dataflow Prime es compatible con canalizaciones por lotes y de transmisión. De forma predeterminada, Dataflow Prime usa Dataflow Shuffle para trabajos por lotes y Streaming Engine para trabajos de transmisión.

Dataflow Prime usa Dataflow Runner V2 en sus canalizaciones.

Compatibilidad con versiones del SDK

Dataflow Prime es compatible con los siguientes SDK de Apache Beam:

  • SDK de Apache Beam para Python versión 2.21.0 o posterior

  • SDK de Apache Beam para Java, versión 2.30.0 o posterior

Para descargar el paquete del SDK o leer las notas de la versión, consulta Descargas de Apache Beam.

Funciones de Dataflow Prime

A continuación, se muestra la lista de funciones compatibles de Dataflow Prime para diferentes tipos de canalizaciones:

  • Ajuste de escala automático vertical (memoria) Se aplica a las canalizaciones de transmisión en Python.
  • Ajuste adecuado (sugerencias de recursos de Dataflow Prime). Se aplica a las canalizaciones por lotes en Python y Java.
  • Visualizador de trabajos. Se aplica a las canalizaciones por lotes en Python y Java.
  • Recomendaciones inteligentes. Se aplica a las canalizaciones de transmisión y por lotes en Python y Java.
  • Canalizaciones de datos. Se aplica a las canalizaciones de transmisión y por lotes en Python y Java.

Las funciones de visualizador de trabajos, recomendaciones inteligentes y canalizaciones de datos también son compatibles con trabajos que no son de Dataflow Prime.

Ajuste de escala automático vertical

Esta función ajusta de forma automática la memoria disponible para las VM de trabajador de Dataflow a fin de que se adapte a las necesidades de la canalización y ayuda a prevenir errores de memoria insuficiente. En Dataflow Prime, el ajuste de escala automático vertical funciona junto con el ajuste de escala automático horizontal para escalar los recursos de forma dinámica.

Para obtener más información, consulta Ajuste de escala automático vertical.

Ajuste adecuado

Esta función usa sugerencias de recursos, una característica nueva de Apache Beam que te permite especificar requisitos de recursos para toda la canalización o para pasos específicos de la canalización. Esta función te permite crear trabajadores personalizados para diferentes pasos de una canalización. El ajuste adecuado te permite especificar recursos de canalización para maximizar la eficiencia, reducir los costos operativos y evitar errores de memoria insuficiente y otros errores de recursos.

Para obtener una vista previa, ten en cuenta lo siguiente sobre el ajuste adecuado:

  • Es compatible con las sugerencias de memoria y recursos de GPU.

  • Se requiere Apache Beam 2.30.0 o una versión posterior.

Para obtener más información, consulta Configura el ajuste adecuado de Dataflow Prime.

Visualizador de trabajos

Esta función te permite ver el rendimiento de un trabajo de Dataflow y optimizar dicho rendimiento mediante la búsqueda de código ineficiente, incluidos los cuellos de botella en la paralelización. En Cloud Console, puedes hacer clic en cualquier trabajo de Dataflow en la página Trabajos para ver sus detalles. También puedes ver la lista de pasos asociados con cada etapa de la canalización.

Para obtener más información, consulta los Detalles de ejecución.

Recomendaciones inteligentes

Esta función te permite optimizar la canalización y solucionar sus problemas según las recomendaciones que se proporcionan en la pestaña Diagnóstico de la página de detalles de un trabajo. En Cloud Console, puedes hacer clic en cualquier trabajo de Dataflow en la página Trabajos para ver sus detalles.

Para obtener más información, consulta Recomendaciones y diagnóstico.

Canalizaciones de datos

Esta función te permite programar trabajos, observar el uso de recursos, hacer un seguimiento de los objetivos de actualización de datos para la transmisión de datos y optimizar las canalizaciones.

Para obtener más información, consulta Trabaja con canalizaciones de datos.

Requisitos de cuotas y límites

Las cuotas y los límites son iguales para Dataflow y Dataflow Prime. Para obtener más información, consulta Cuotas y límites.

Si optas por las canalizaciones de datos, hay implicaciones adicionales para las cuotas y los extremos regionales.

Antes de usar Dataflow Prime

Para usar Dataflow Prime, puedes volver a usar el código de canalización existente y habilitar la opción experimental Dataflow Prime a través de Cloud Shell o de manera programática.

Dataflow Prime es retrocompatible con trabajos por lotes que usan Dataflow Shuffle y trabajos de transmisión que usan Streaming Engine. Sin embargo, recomendamos probar las canalizaciones con Dataflow Prime antes de usarlas en un entorno de producción.

Si tu canalización de transmisión se ejecuta en producción, sigue estos pasos para usar Dataflow Prime:

  1. Detén la canalización.

  2. Habilita Dataflow Prime.

  3. Vuelve a ejecutar la canalización.

Habilita Dataflow Prime

Para habilitar Dataflow Prime en una canalización, haz lo siguiente:

  1. Habilita la API de Cloud Autoscaling.

    Habilitar la API

    Dataflow Prime usa la API de Cloud Autoscaling para ajustar la memoria de forma dinámica.

  2. Habilita Prime en las opciones de canalización.

    Puedes configurar las opciones de canalización de manera programática o mediante la línea de comandos. Para las versiones compatibles del SDK de Apache Beam, habilita la siguiente marca:

Java

--dataflowServiceOptions=enable_prime

Python

SDK de Apache Beam para Python versión 2.29.0 o posterior:

--dataflow_service_options=enable_prime

SDK de Apache Beam para Python versión 2.21.0 a 2.28.0:

--experiments=enable_prime

Usa Dataflow Prime con plantillas

Si usas plantillas de Dataflow, puedes elegir habilitar Dataflow Prime de una de las siguientes maneras:

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla.

    Ir a Crear un trabajo a partir de una plantilla

  2. En el campo Experimento adicional, ingresa enable_prime.

Shell

  • Ejecuta el código de la canalización con la marca --experiments configurada como enable_prime.

Código de canalización

  • En el código de canalización, establece el argumento additional_experiment en enable_prime.

Notas Dataflow Prime

Dataflow Prime no es compatible con los siguientes elementos:

  • Sugerencias de recursos para transformaciones en varios lenguajes. Para obtener más información sobre esta limitación, consulta la documentación de Apache Beam.

  • Designación de tipos de VM específicos mediante la marca --worker_machine_type o --machine_type para las canalizaciones de Python y --workerMachineType para las canalizaciones de Java.

  • Ver o usar SSH para acceder a VM de trabajador

  • Las clases MapState y OrderedListState para canalizaciones de Java

  • Tipos de ventana personalizados.

  • Programación flexible de recursos (FlexRS).

Comparación de funciones entre Dataflow y Dataflow Prime

En la siguiente tabla, se comparan las funciones disponibles de ambas variantes de Dataflow.

Función Dataflow Prime Dataflow
Runner V2 Función predeterminada sin opción para desactivarla Función opcional
Dataflow Shuffle para trabajos por lotes Función predeterminada sin opción para desactivarla Función predeterminada con opción para desactivarla
Streaming Engine Función predeterminada sin opción para desactivarla Función opcional para las canalizaciones de Java y con la opción de desactivación para las canalizaciones de Python
Ajuste de escala automático horizontal Función opcional Función opcional
Ajuste de escala automático vertical Función predeterminada sin opción para desactivarla No aplicable
Ajuste adecuado Función opcional No aplicable
Visualizador de trabajos Función predeterminada sin opción para desactivarla Función predeterminada sin opción para desactivarla
Recomendaciones de trabajos Función predeterminada sin opción para desactivarla Función predeterminada sin opción para desactivarla
Canalizaciones de datos Función opcional Función opcional
Facturación Facturación sin servidores Facturación heredada

¿Qué sigue?