Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Perfilado de operadores (Beta)

Última actualización: Sep 03, 2026

La función de perfilado de operadores le permite consultar resultados intermedios sin modificar su despliegue. Esto simplifica la resolución de problemas de corrección de datos, mejora la eficiencia y la continuidad del negocio, y reduce el tiempo de inactividad de los servicios críticos en tiempo real. Este tema describe cómo utilizar el perfilado de operadores.

Contexto

Al gestionar despliegues de Flink, es posible que encuentre resultados inesperados, un problema común conocido como incidencia de corrección de datos. Las causas de estos problemas son complejas y difíciles de identificar. Un método habitual de solución consiste en descomponer lógicamente el despliegue SQL y usar el conector Print para imprimir los resultados de cada paso. Sin embargo, este proceso consume mucho tiempo. Además, podría no identificar la causa raíz debido a discrepancias entre los datos de prueba, los datos de producción o el estado. En consecuencia, resolver estas incidencias suele llevar mucho tiempo y requiere múltiples ciclos de detención e inicio. Realtime Compute for Apache Flink ofrece la función de perfilado de operadores para abordar estos desafíos. Esta función le permite inspeccionar la entrada y salida de operadores seleccionados sin modificar el despliegue, lo que ayuda a solucionar problemas de corrección de datos de manera más eficiente.

Limitaciones

  • Esta función solo admite despliegues SQL en ejecución.

  • Solo se admiten despliegues que utilizan Ververica Runtime (VVR) 8.0.4 o posterior.

  • No se admiten despliegues que utilizan instrucciones CREATE TABLE AS ... (CTAS) o CREATE DATABASE AS ... (CDAS).

  • No se admiten despliegues en un clúster de sesiones.

  • No puede iniciar una nueva sesión de perfilado hasta que se detenga la actual.

Procedimiento

  1. Inicie sesión en la consola de Realtime Compute for Apache Flink y haga clic en Console en la columna Actions del espacio de trabajo objetivo.

  2. En el panel de navegación izquierdo, seleccione O&M > Deployments.

  3. Haga clic en el nombre del despliegue objetivo y luego en la pestaña Status.

  4. Habilite el perfilado de operadores.

    1. Active el interruptor Operators Observing.

      La sección Operators Observing aparece en la parte inferior de la página. Muestra el Observing status (como "Sampling complete") y una lista de operadores. La lista incluye las columnas Name, Status, Bytes received, Records received, Bytes sent y Tasks.

    2. Seleccione uno o varios operadores para perfilar.

      En la sección Operators Observing en la parte inferior de la página, active el interruptor Expand. Aparecerá un mensaje, como 1 operator selected, para confirmar el número de operadores seleccionados. Establezca la Max sampling duration y luego haga clic en Start. Los resultados del perfilado están disponibles en el archivo de registro inspect-taskmanager_0.out en la página TaskManager Log List.

    3. Establezca la duración máxima de muestreo.

      Configure una duración entre 1 y 30 minutos. Tenga en cuenta que el muestreo puede detenerse antes si se alcanza el límite de almacenamiento antes de que finalice la duración.

    4. Haga clic en Start. El Observing status cambia a Sampling.

      Nota

      No puede iniciar una nueva sesión de perfilado hasta que se detenga la actual.

      Una vez iniciado el perfilado, una notificación en la parte inferior del panel indica que puede consultar los resultados en un archivo de registro, como inspect-taskmanager_0.out, en la página TaskManager Log List. Para detener el muestreo, haga clic en Stop.

  5. Consulte los resultados del perfilado.

    Haga clic en TaskManager Log List en el aviso para ir a la página de registros de ejecución y consultar el registro con el Log name inspect-taskmanager_0.out.

    Copie el nombre del operador desde el DAG en la pestaña Status y luego búsquelo en el archivo de registro para consultar la salida de un operador específico.

    Cada línea en el registro es un registro JSON que contiene campos como op_name (el nombre del operador) y source (la dirección de los datos). Un valor de OUT indica datos salientes, mientras que IN indica datos entrantes. Por ejemplo, un operador de origen solo produce salida, por lo que sus registros tienen un valor source de OUT. Un operador de destino solo consume entrada, por lo que sus registros tienen un valor source de IN. En el filtro de la esquina superior derecha de la página de registros, puede introducir un nombre de operador, como Sink: blackhole_sink, para filtrar los registros. Los nombres de operadores coincidentes se resaltan.

Cómo se detiene el perfilado

  • El perfilado se detiene automáticamente si el JobManager (JM) o un TaskManager (TM) realiza un failover.

  • El muestreo se detiene antes de tiempo si se alcanza el límite máximo de almacenamiento.

  • El muestreo se detiene cuando se alcanza la duración de muestreo configurada.

  • También puede detener el perfilado manualmente.

Preguntas frecuentes

¿Qué debo hacer si no se puede habilitar el perfilado de operadores?

Si el siguiente GUC está configurado en el SQL del despliegue, no se podrá habilitar el perfilado de operadores:

SET 'sql-gateway.exec-plan.enabled' = 'false';

Elimine esta configuración, vuelva a desplegar el trabajo y luego habilite el perfilado de operadores en la pestaña Status.

Referencias