Skip to main content

Cómo calcular la proporción de valores vacíos o cero en cada columna de una tabla

Si una columna es dispersa (está vacía o contiene principalmente ceros), ClickHouse puede codificarla en un formato disperso y optimizar automáticamente los cálculos; los datos no requieren una descompresión completa durante las consultas. De hecho, si sabe cuán dispersa es una columna, puede definir su proporción mediante la configuración ratio_of_defaults_for_sparse_serialization para optimizar la serialización. Esta útil consulta puede tardar un poco, pero analiza cada fila de la tabla y determina la proporción de valores que son cero (o el valor predeterminado) en cada columna de la tabla especificada:
Por ejemplo, ejecutamos esta consulta en la tabla conjunto de datos de sensores ambientales llamada sensors, que tiene más de 20 mil millones de filas y 19 columnas:
Aquí está la respuesta:
De los resultados anteriores:
  • la columna sensor_id no es en absoluto dispersa. De hecho, todas las filas tienen un valor distinto de cero
  • la columna sensor_type solo es dispersa en aproximadamente el 15,9 % de los casos
  • la columna P0 es muy dispersa: el 99,9 % de los valores son cero
  • la columna pressure es bastante dispersa: un 83 %
  • y la columna temperature tiene el 53,2 % de sus valores ausentes o en cero
Como decíamos, ¡es una consulta muy útil para calcular lo dispersas que son las columnas de una tabla de ClickHouse!
Última modificación el 3 de julio de 2026