Soluciona problemas de demora en trabajos por lotes

Los rezagados son elementos de trabajo que impiden que el trabajo de Dataflow se realice en paralelo y lo ralentiza.

Un conjunto es un elemento de trabajo con las siguientes características:

  • Se tarda mucho más tiempo en completarse en comparación con otros elementos de trabajo de la misma etapa.
  • Reduce el paralelismo dentro de la etapa.
  • Bloquea el inicio de un trabajo nuevo.

En el peor de los casos, un retraso demora la finalización de una etapa porque un pequeño porcentaje del trabajo está en progreso, lo que causa retrasos generales en un trabajo.

Dataflow detecta retrasos que se producen durante los trabajos por lotes. Si Dataflow detecta una demora, también intenta determinar la causa de esta demora.

Ver demorados en la interfaz de supervisión de Dataflow

Después de iniciar un trabajo de Dataflow, puedes usar la consola de Google Cloud para ver los retrasos demorados.

Puedes ver los demorados por etapa o por trabajador. Usa estas vistas para encontrar qué etapas tienen demora y, luego, identifica a los trabajadores en los que ocurrieron las demoraciones dentro de cada etapa.

Ver demorados por etapa

Para ver las demoras por etapa, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Trabajos de Dataflow.

    Ve a Trabajos

  2. Haz clic en el nombre del trabajo.

  3. En la página de detalles del trabajo, haz clic en la pestaña Detalles de la ejecución.

  4. En la lista Graph view, selecciona Stage stage. En el gráfico de progreso, se muestran los recuentos agregados de todas las demoras detectadas en cada etapa.

  5. Para ver los detalles de una etapa, coloque el cursor sobre la barra de esta. Para ver los trabajadores de la etapa, haz clic en Ver trabajadores en el panel de detalles.

Ver demorados por trabajador

Para ver los demorados por trabajador, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Trabajos de Dataflow.

    Ve a Trabajos

  2. Haz clic en el nombre del trabajo.

  3. En la página de detalles del trabajo, haz clic en la pestaña Detalles de la ejecución.

  4. En la lista Vista de gráfico, selecciona Progreso del trabajador.

  5. En la lista Filtrar trabajadores por etapa (Filter trabajadores por etapa), selecciona la etapa. En el gráfico de progreso, se muestra cualquier demora que se detecte para esa etapa. La barra tiene un sombreado más oscuro en el punto en el que se detectó por primera vez la demora.

  6. Para ver los detalles de un trabajador, coloca el cursor sobre la barra de ese trabajador.

En el panel Información de la etapa, la sección Detalles de la etapa enumera las demoras de todos los trabajadores que se muestran en la página, con la siguiente información:

  • La hora de inicio en la que se detectó el retraso.
  • El trabajador que experimentó la demora.
  • La causa, si se conoce.

Retrasos en la solución de problemas

Dataflow detecta las siguientes causas de demora.

Soluciona problemas demorados causados por las teclas de acceso rápido

Varios factores pueden causar retrasos, pero una causa común es la existencia de una clave activa. Una clave de acceso rápido es una clave que representa muchos más elementos que otras claves en el mismo PCollection. Las claves de acceso rápido pueden crear retrasos que limitan la capacidad de Dataflow de procesar elementos en paralelo.

Si Dataflow detecta una demora que se debe a una clave de acceso rápido, en el panel Detalles de demora se muestra la causa Hot Key.

De forma predeterminada, Dataflow no muestra el valor de la clave de acceso rápido. Para mostrar el valor de la clave, configura la opción de canalización hotKeyLoggingEnabled en true cuando ejecutes el trabajo.

Para resolver este problema, verifica que tus datos estén distribuidos de manera uniforme. Si una clave tiene desproporcionadamente muchos valores, considera las siguientes medidas:

¿Qué sigue?