Saltar al contenido
Telemetry
Explorar documentación
Conceptos y patrones de SQLActualizado el 28 de julio de 2026Revisado por los equipos editorial y de producto de Telemetry2 min de lectura

Usa esta documentación con tu agente de programación

Abra un paquete de mensajes enfocados para Claude Code, Codex, Cursor u otro agente de codificación, luego adáptelo al flujo de trabajo que se describe aquí.

Eliminación de eventos estructurados duplicados con SQL

La deduplicación es un problema de definición empresarial antes de ser un problema SQL. Dos eventos que parecen similares pueden representar una entrega duplicada, un reintento intencional o dos acciones válidas del usuario. Comience con un identificador generado por el origen para el evento lógico o la entrega. No infiera la identidad a partir de una marca de tiempo y una cadena de mensaje a menos que el contrato del productor garantice que la combinación es única.

Seleccione una fila para cada identificador estable

WITH ranked AS (
  SELECT
    event_id,
    account_id,
    event_name,
    timestamp_utc,
    received_at,
    ROW_NUMBER() OVER (
      PARTITION BY event_id
      ORDER BY received_at ASC
    ) AS delivery_rank
  FROM product_events
  WHERE timestamp_utc >= now() - INTERVAL '7 days'
)
SELECT
  account_id,
  event_name,
  timestamp_utc
FROM ranked
WHERE delivery_rank = 1;

Esta versión conserva la primera copia recibida. En cambio, una tabla de sincronización de estado podría conservar el registro más reciente. Escriba la opción al lado de la consulta, porque cambiar el orden cambia el significado del resultado.

Mida los duplicados antes de eliminarlos

Cuente filas sin procesar, identificadores distintos e identificadores con más de una entrega. Desglose el resultado por productor, versión de SDK, versión o ruta de entrega cuando esas dimensiones puedan identificar la fuente. Un CTE de deduplicación puede corregir un panel posterior y al mismo tiempo ocultar un problema de ingesta creciente.

No realice la deduplicación solo en account_id y event_name. Una cuenta puede completar legítimamente la misma acción muchas veces. Del mismo modo, los reintentos pueden ser eventos analíticos válidos cuando la cuestión es la confiabilidad, incluso si la conversión del producto cuenta solo el resultado final exitoso.

Los eventos tardíos requieren una ventana de corrección acotada. Un duplicado que llegue después de que se haya exportado un informe puede cambiar el recuento final, por lo que debe registrar el límite de presentación de informes y si los resultados son provisionales.

Utilice Receta de ID de evento duplicado para cuantificar la duplicación de fuentes y Funciones de ventana para comprender la operación de clasificación. El guía de esquema de eventos explica cómo agregar identificadores que hacen que la regla sea auditable.

Función relacionada del producto

Ejecute DataFusion SQL de solo lectura sobre tablas de eventos estructurados y reutilice el resultado.

Responsabilidad y referencias técnicas

El equipo editorial de Telemetry es responsable de esta explicación; el equipo de producto revisa el comportamiento, los ejemplos y las limitaciones.

Consultar los criterios editoriales