Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Recolección de datos erróneos

Última actualización: Sep 03, 2026

Este tema describe cómo utilizar el recolector de datos erróneos en los trabajos de ingesta de datos de Flink CDC.

Descripción general

En la sincronización de datos en tiempo real, los datos provenientes de un origen pueden fallar al analizarse debido a problemas como formatos incorrectos, errores de codificación o incompatibilidad de esquemas. Este tipo de datos no procesables se conoce como datos erróneos.

A partir de la versión 11.5 de VVR, la ingesta de datos admite la recolección de datos erróneos para el origen de datos Kafka. Las opciones de configuración del conector le permiten configurar su trabajo para ignorar errores, registrar detalles y continuar ejecutándose.

Cuando el conector encuentra datos que no puede analizar, el sistema captura automáticamente los datos sin procesar y la información de la excepción, y los escribe en un recolector especificado. Esto le permite:

  • Tolerar una pequeña cantidad de datos erróneos para evitar que se interrumpa todo el pipeline.

  • Registrar el contexto completo para facilitar la resolución de problemas y el análisis posterior.

  • Establecer un umbral para evitar un número excesivo de errores.

Casos de uso típicos

Caso de uso

Objetivo

Pipelines de recolección de registros

(Para orígenes de datos no estructurados como registros de aplicaciones)

La calidad de los datos es inconsistente. Omita algunos registros defectuosos para garantizar que el proceso principal continúe ejecutándose.

Sincronización de tablas de negocio principales

(Para sistemas críticos como pedidos o cambios de cuenta)

Requiere alta consistencia. Los errores activan alertas inmediatas para intervención manual.

Fase de exploración y análisis de datos

Procesar rápidamente el conjunto de datos completo para comprender su estructura general antes de abordar problemas de datos erróneos.

Limitaciones y consideraciones

Antes de usar esta función, comprenda sus limitaciones y riesgos potenciales:

  • Conectores compatibles: Esta función actualmente solo está disponible para el origen de datos Kafka. La compatibilidad con otros orígenes se agregará en futuras versiones.

  • Tipos de recolectores admitidos: Actualmente, solo se admite el tipo logger, que escribe los datos erróneos en un archivo de registro.

Nota

Esta función es adecuada para depuración y etapas iniciales de producción. Si persisten grandes cantidades de datos erróneos, se recomienda implementar medidas de gobernanza de datos en el sistema ascendente.

Sintaxis

Habilitar el recolector de datos erróneos

El recolector de datos erróneos se define en pipeline module. La sintaxis es la siguiente:

pipeline:
  dirty-data.collector:
    name: Logger Dirty Data Collector
    type: logger

Parámetro

Descripción

name

El nombre del recolector. Se recomienda usar un nombre descriptivo, como Kafka-DQ-Collector.

type

El tipo de recolector. Valores válidos:

  • logger: Escribe los datos erróneos en un archivo de registro.

Nota

Si no define esta opción, el sistema no registrará los datos erróneos, incluso si la tolerancia a errores está habilitada.

Configurar la tolerancia a errores en el origen de datos

Configurar únicamente el recolector de datos erróneos no omite los errores de análisis. Debe usar esta función junto con la directiva de tolerancia a errores de Kafka. Para más detalles, consulte Kafka connector documentation. El siguiente ejemplo muestra una configuración típica:

source:
  type: kafka
  # Skip the first 100 parsing errors; if the count exceeds 100, the job fails.
  ingestion.ignore-errors: true
  ingestion.error-tolerance.max-count: 100

Parámetro

Predeterminado

Descripción

ingestion.ignore-errors

false

Especifica si se deben ignorar los errores de análisis.

Si se establece en true, el trabajo omite el registro con errores. Si se establece en false, el trabajo falla inmediatamente.

ingestion.error-tolerance.max-count

-1 (ilimitado)

El número máximo de registros de datos erróneos que se tolerarán.

Cuando ingestion.ignore-errors se establece en true, si el número de registros de datos erróneos recopilados supera este valor, el trabajo activa un failover y se detiene.

Recolector de datos erróneos tipo logger

El recolector de datos erróneos tipo logger almacena los datos erróneos en un archivo de registro independiente. Para consultar los registros de datos erróneos, siga estos pasos:

  1. Vaya a la página Deployments y haga clic en la pestaña Logs.

  2. Haga clic en Logs, seleccione la subpestaña Running Task Managers y luego seleccione el nodo TaskManager correspondiente al operador relevante.

  3. Haga clic en Log List y luego haga clic en el archivo de registro llamado yaml-dirty-data.out en la lista para consultar o guardar los registros de datos erróneos.

Cada registro de datos erróneos incluye los siguientes metadatos:

  • La marca de tiempo en que se procesaron los datos erróneos.

  • El operador y el índice de subtarea que emitió el registro de datos erróneos.

  • El contenido de los datos sin procesar.

  • La información de la excepción que causó el fallo de procesamiento.

Formato del registro de datos erróneos

Cada registro contiene los siguientes metadatos:

text[2025-04-05 10:23:45] [Operator: SourceKafka -> Subtask: 2]
Raw Data: {"id": "abc", "ts": "invalid-timestamp"}
Exception: java.time.format.DateTimeParseException: Text 'invalid-timestamp' could not be parsed at index 0
---

Campo

Descripción

Marca de tiempo

El momento en que se capturaron los datos erróneos.

Operador y subtarea

El operador específico y su índice de subtarea paralela donde ocurrió el error.

Datos sin procesar

Los datos originales sin analizar (en formato Base64 o cadena).

Excepción

El tipo de excepción y un resumen del seguimiento de la pila del fallo de análisis.

Preguntas frecuentes

¿Los datos erróneos afectan los puntos de control?

No. Los datos erróneos se interceptan antes de que puedan incluirse en una actualización de estado, por lo que no provocan fallos en los puntos de control.

Recolección de datos erróneos vs. salida lateral

  • Recolector de datos erróneos: Maneja datos que no se pueden deserializar ni analizar.

  • Salida lateral: Maneja datos que se pueden analizar pero no cumplen con los requisitos de la lógica de negocio.