Detalles de la ejecución

Dataflow proporciona una pestaña Detalles de ejecución en su interfaz de usuario de supervisión basada en la Web. Esta herramienta puede ayudarte a optimizar el rendimiento de tus trabajos y diagnosticar por qué podrían ser lentos o estar atascados. Este documento es para cualquier usuario de Dataflow que necesite inspeccionar los detalles de ejecución de sus trabajos de Dataflow.

En esta página, se proporciona un resumen de alto nivel de lo que puedes usar en esta función y el diseño de la interfaz de usuario. Para obtener detalles sobre la solución de problemas, lee Usa la pestaña Detalles de la ejecución.

Terminología

Para usar los detalles de ejecución de manera efectiva, debes comprender cómo se aplican los siguientes conceptos clave a los trabajos de Dataflow:

Terminología de Dataflow

  • Optimización de fusión: proceso de Dataflow que usa varios pasos o transformaciones. Esto optimiza las canalizaciones enviadas por los usuarios. Para obtener más información, lee Optimización de fusión.
  • Etapas: unidad de pasos combinados en canalizaciones de Dataflow.

Terminología de Batch

  • Rutas de acceso críticas: secuencia de etapas de una canalización que contribuyeron al entorno de ejecución general del trabajo. Por ejemplo, esta secuencia excluye las siguientes etapas:
    • Ramas de la canalización que finalizaron antes del trabajo general.
    • Entradas que no retrasaron el procesamiento descendente.
  • Trabajadores: instancias de VM de Compute Engine que ejecutan un trabajo de Dataflow.
  • Elementos de trabajo: unidades de trabajo que corresponden a un paquete seleccionado por Dataflow.

Terminología de transmisión

Cuándo usar detalles de ejecución

Las siguientes son situaciones comunes para usar los detalles de ejecución cuando ejecutas trabajos de Dataflow:

  • La canalización está atascada y quieres solucionar el problema.
  • La canalización es lenta y quieres optimizarla.
  • No es necesario corregir nada, pero deseas ver los detalles de ejecución de tu canalización para comprender tu trabajo.

Habilita los detalles de la ejecución

La vista Flujo de trabajo por etapas se habilita de forma automática para todos los trabajos por lotes y de transmisión. Los trabajos por lotes también contienen vistas de Progreso de la etapa y Progreso de los trabajadores. Progreso de la etapa ahora está disponible en vista previa para los trabajos de transmisión.

Esta función no genera uso adicional de CPU, red, etc. para tus VM. El sistema de supervisión de backend de Dataflow recopila los detalles de la ejecución, lo que no afecta el rendimiento del trabajo.

Una vez que inicies tu trabajo, podrás ver la pestaña Detalles de ejecución con la IU de supervisión de Dataflow. Para obtener más información, consulta Cómo acceder a la interfaz de supervisión de Dataflow

Cómo se usa la pestaña Detalles de la ejecución

La pestaña Detalles de la ejecución incluye cuatro vistas: Progreso de la etapa, Panel lateral (dentro del Progreso de la etapa) Flujo de trabajo de la etapa y Progreso de los trabajadores. En esta sección, se explica cada vista y se proporcionan ejemplos de trabajos por lotes exitosos y fallidos.

Progreso de la etapa para trabajos por lotes

La vista Progreso de etapa para los trabajos por lotes muestra las etapas de ejecución del trabajo ordenadas por las horas de inicio y finalización. El tiempo se representa con una barra. Por ejemplo, puedes identificar visualmente las etapas de ejecución más largas de una canalización si encuentras la barra más larga.

Debajo de cada barra, puedes encontrar una minigráfico que muestra el progreso de la etapa a lo largo del tiempo. Para destacar las etapas que contribuyeron al entorno de ejecución general del trabajo, haz clic en el botón de activación Ruta crítica. Además, puede usar el menú desplegable “Filtrar etapas” para seleccionar solo las etapas que le interesan.

Un ejemplo de la vista de progreso de etapa para trabajos por lotes que muestra una visualización del tiempo para seis etapas de ejecución diferentes.

Progreso de la etapa para trabajos de transmisión

La vista Progreso de etapa para los trabajos de transmisión se puede dividir en dos secciones. La mitad superior de la vista muestra un gráfico que representa la actualidad de los datos para cada etapa de ejecución del trabajo. Si colocas el cursor sobre el gráfico, se proporciona el valor de actualidad de datos en ese momento específico. La mitad inferior de la vista muestra las etapas de ejecución del trabajo ordenadas de forma topológica, donde las etapas sin etapas descendientes se muestran en la parte superior y sus descendientes se muestran debajo. Esta vista facilita la identificación de las etapas de una canalización que tardan más de lo que deberían. El tamaño de las barras se relaciona con la actualidad de los datos más larga de todo el dominio de tiempo.

Los trabajos de transmisión se ejecutan hasta que se cancelan, se desvían o se actualizan. El selector de hora que se encuentra sobre el gráfico se puede usar para reducir el alcance del dominio a un intervalo de tiempo más útil. Además, puede usar el menú desplegable “Filtrar etapas” para seleccionar solo las etapas que le interesan.

La vista Progreso de etapa facilita la identificación de cuándo tu trabajo de transmisión es lento o atascado de dos maneras diferentes:

  1. El gráfico de actualidad de datos por etapas incluye detección de anomalías, que mostrará automáticamente los períodos en que la actualización de datos se ve en mal estado. En el gráfico, se destacará “potencialmente bloqueado” cuando la actualidad de los datos supere el percentil 99 para el período seleccionado. Del mismo modo, el gráfico destacará la “desaceleración potencial” cuando la actualidad de los datos supere el percentil 95.
  2. Los cuellos de botella se pueden detectar si colocas el cursor sobre un punto del gráfico que parece inusual. Una vez que colocas el cursor sobre un elemento, las barras más largas indican etapas más lentas. De manera alternativa, se puede hacer clic en el eje x del gráfico para mostrar los datos en ese momento. Un enfoque común para encontrar la etapa que causa la inactividad o la lentitud es encontrar la etapa más ascendente (más arriba) o la más descendente (más baja), lo que hace que la actualidad de los datos aumente. Este enfoque no se adapta a todas las situaciones y es posible que se requiera una depuración adicional para identificar la causa exacta.

Un ejemplo de la vista de progreso de etapa para trabajos de transmisión, que muestra una visualización del tiempo para una etapa de ejecución y una posible anomalía de lentitud.

Panel de información de la etapa

En el panel de información de la etapa, se muestra una lista de pasos asociados a una etapa y clasificados por un tiempo de muro descendente. El panel se abre en el lado derecho de la pantalla. Para abrir el panel, coloca el cursor sobre una de las barras de la vista Progreso de etapa y haz clic en Ver detalles.

Ejemplo de panel de información de la etapa

Flujo de trabajo de la etapa

El flujo de trabajo por etapas muestra las etapas de ejecución del trabajo, representadas como un grafo de flujo de trabajo. Para mostrar solo las etapas que contribuyeron directamente al entorno de ejecución general del trabajo, haz clic en el botón de activación Ruta crítica.

Ejemplo de la vista de flujo de trabajo por etapas que muestra la jerarquía de las diferentes etapas de ejecución de un trabajo.

Progreso de los trabajadores

El progreso del trabajador muestra los trabajadores de una etapa en particular. Cada barra se asigna a un elemento de trabajo programado para un trabajador. Puedes encontrar un minigráfico que hace un seguimiento del uso de CPU en un trabajador ubicado debajo de cada trabajador, lo que facilita detectar los problemas de uso insuficiente.

Debido a la densidad de esta visualización, debes filtrar esta vista preseleccionando una etapa. Primero, identifica una etapa en la vista Progreso de la etapa. Coloca el cursor sobre esa etapa y haz clic en Ver trabajadores para ingresar a la vista Progreso del trabajador.

Ejemplo de la vista de progreso del trabajador. Los trabajadores tienen barras y minigráficos que corresponden a la programación de elementos de trabajo y los usos de CPU.

¿Qué sigue?