Esquema del evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| reading_id | Utf8 | Identificador de la medición ficticia. |
| measured_second | Int64 | Segundos desde el inicio del ejercicio hasta la medición. |
| delivered_second | Int64 | Segundos desde el inicio del ejercicio hasta la llegada del mensaje. |
| co2_ppm | Int64 | Lectura ficticia de CO₂ en partes por millón; no es una evaluación de salud. |
Copiar la consulta
WITH per_reading AS (
SELECT reading_id, MIN(co2_ppm) AS co2_ppm
FROM sensor_deliveries
GROUP BY reading_id
),
delivery_summary AS (
SELECT COUNT(*) AS deliveries, AVG(co2_ppm) AS delivered_mean_ppm
FROM sensor_deliveries
),
measurement_summary AS (
SELECT COUNT(*) AS measurements, AVG(co2_ppm) AS measurement_mean_ppm
FROM per_reading
)
SELECT deliveries, measurements, delivered_mean_ppm, measurement_mean_ppm
FROM delivery_summary CROSS JOIN measurement_summary;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Dos unidades de análisis, dos medias
Seis mensajes recibidos representan cuatro mediciones. Ambas medias usan los mismos valores ficticios, pero responden a preguntas distintas.
| deliveries | measurements | delivered_mean_ppm | measurement_mean_ppm |
|---|---|---|---|
| 6 | 4 | 700 | 675 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descarga los datos de ejemplo
El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1La primera CTE agrupa los mensajes por reading_id; un reenvío de r4 no crea otra medición.
- 2La media de las filas recibidas es 700 ppm; la de las cuatro mediciones, 675 ppm. Ninguna es necesariamente una media temporal del aula.
- 3MIN solo funciona aquí porque cada mensaje con el mismo reading_id tiene el mismo co2_ppm ficticio. Comprueba si hay valores contradictorios antes de eliminar duplicados reales.
Casos límite que debes comprobar
- Dos mediciones distintas pueden tener el mismo valor de CO₂. AVG(DISTINCT co2_ppm) las fusionaría por error.
- Los identificadores reales pueden repetirse entre dispositivos o tras un reinicio. Define cómo se identifica una medición antes de agrupar eventos reales.
- Estos valores ficticios de CO₂ no sirven para decidir sobre ventilación o salud. Con datos reales habría que comprobar calibración, ubicación, lecturas ausentes y cobertura temporal.
Panel recomendado
- Tabla: mensajes recibidos, mediciones y las dos medias de una ejecución del ejercicio
Guía de alerta
Estos datos ficticios para clase no sirven para una alerta real de CO₂.
Leer configuración de alertaConfigura los eventos que necesita esta consulta
Instrumentación y guías relacionadas.
Continuar el análisis
Medir la frescura de la ingestión de eventos
Encuentre fuentes de eventos que dejaron de entregar datos o que llegan mucho más tarde de lo que ocurrieron.
Receta abiertaBuscar ID de eventos duplicados
Identifique identificadores de eventos entregados más de una vez y mida si el manejo de duplicados está funcionando.
Receta abiertaMedir la tasa de nulos de campos obligatorios
Encuentre contratos de eventos en los que un campo obligatorio de cuenta, estado o correlación esté desapareciendo.
Receta abiertaEjecútalo con tus eventos
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.