Saltar al contenido principal
Este conjunto de datos contiene mediciones meteorológicas de los últimos 120 años. Cada fila corresponde a una medición para un momento determinado y una estación. Más concretamente, y según el origen de estos datos:
GHCN-Daily es un conjunto de datos que contiene observaciones diarias de zonas terrestres de todo el mundo. Incluye mediciones de estaciones terrestres de todo el planeta, aproximadamente dos tercios de las cuales corresponden únicamente a mediciones de precipitación (Menne et al., 2012). GHCN-Daily es una recopilación de registros climáticos de numerosas fuentes que se fusionaron y se sometieron a un conjunto común de revisiones de control de calidad (Durre et al., 2010). El archivo incluye los siguientes elementos meteorológicos:
  • Temperatura máxima diaria
    • Temperatura mínima diaria
    • Temperatura en el momento de la observación
    • Precipitación (es decir, lluvia, nieve derretida)
    • Caída de nieve
    • Espesor de la nieve
    • Otros elementos, cuando están disponibles
Las secciones siguientes ofrecen un breve resumen de los pasos necesarios para incorporar este conjunto de datos a ClickHouse. Si te interesa leer sobre cada paso con más detalle, te recomendamos consultar nuestra entrada del blog titulada “Exploring massive, real-world data sets: 100+ Years of Weather Records in ClickHouse”.

Descarga de los datos

  • Una versión ya preparada de los datos para ClickHouse, que ha sido depurada, reestructurada y enriquecida. Estos datos abarcan de 1900 a 2022.
  • Descargue los datos originales y conviértalos al formato requerido por ClickHouse. Los usuarios que deseen añadir sus propias columnas pueden preferir este enfoque.

Datos preparados previamente

Más concretamente, se han eliminado las filas que no habían fallado ninguna comprobación de control de calidad de NOAA. Los datos también se han reestructurado de una medición por línea a una fila por identificador de estación y fecha, es decir.
Esto facilita las consultas y garantiza que la tabla resultante sea menos dispersa. Por último, los datos también se han enriquecido con latitud y longitud. Estos datos están disponibles en la siguiente ubicación de S3. Descargue los datos en su sistema de archivos local (e insértelos con el cliente de ClickHouse) o insértelos directamente en ClickHouse (consulte Inserting from S3). Para descargar:

Datos originales

A continuación, se detallan los pasos para descargar y transformar los datos originales antes de cargarlos en ClickHouse.

Descarga

Para descargar los datos originales:

Muestreo de datos

En resumen, la documentación del formato: En resumen, la documentación del formato y, a continuación, las columnas:
  • Un código de identificación de estación de 11 caracteres. Este código contiene en sí mismo información útil.
  • YEAR/MONTH/DAY = fecha de 8 caracteres en formato YYYYMMDD (p. ej., 19860529 = 29 de mayo de 1986)
  • ELEMENT = indicador de 4 caracteres del tipo de elemento. En la práctica, es el tipo de medición. Aunque hay muchas mediciones disponibles, seleccionamos las siguientes:
    • PRCP - Precipitación (décimas de mm)
    • SNOW - Nevada (mm)
    • SNWD - Espesor de nieve (mm)
    • TMAX - Temperatura máxima (décimas de grado C)
    • TAVG - Temperatura media (décimas de grado C)
    • TMIN - Temperatura mínima (décimas de grado C)
    • PSUN - Porcentaje diario de insolación posible (porcentaje)
    • AWND - Velocidad media diaria del viento (décimas de metros por segundo)
    • WSFG - Velocidad máxima de ráfaga de viento (décimas de metros por segundo)
    • WT** = Tipo de tiempo, donde ** define el tipo de tiempo. La lista completa de tipos de tiempo está aquí.
    • DATA VALUE = valor de datos de 5 caracteres para ELEMENT; es decir, el valor de la medición.
    • M-FLAG = indicador de medición de 1 carácter. Tiene 10 valores posibles. Algunos de estos valores indican que la precisión de los datos es cuestionable. Aceptamos datos donde este está establecido en “P” — identificado como ausente y presumiblemente cero —, ya que esto solo es relevante para las mediciones PRCP, SNOW y SNWD.
  • Q-FLAG es el indicador de calidad de la medición con 14 valores posibles. Solo nos interesan los datos con un valor vacío; es decir, que no fallaron ninguna comprobación de aseguramiento de la calidad.
  • S-FLAG es el indicador de origen de la observación. No es útil para nuestro análisis y se ignora.
  • OBS-TIME = hora de observación de 4 caracteres en formato hora-minuto (es decir, 0700 = 7:00 a. m.). Normalmente no está presente en los datos más antiguos. Lo ignoramos para nuestros fines.
Una medición por línea daría lugar a una estructura de tabla dispersa en ClickHouse. Debemos transformarla para tener una fila por instante y estación, con las mediciones como columnas. Primero, limitamos el conjunto de datos a aquellas filas sin problemas; es decir, donde qFlag es igual a una cadena vacía.

Limpiar los datos

Con ClickHouse local, podemos filtrar las filas que representan las mediciones de interés y cumplen nuestros requisitos de calidad:
Con más de 2.600 millones de filas, esta no es una consulta rápida, ya que requiere parsear todos los archivos. En nuestra máquina de 8 núcleos, tarda unos 160 segundos.

Reestructurar los datos

Aunque la estructura de una medición por línea se puede usar con ClickHouse, complicará innecesariamente las consultas posteriores. Lo ideal es tener una fila por id de estación y fecha, donde cada tipo de medición y su valor asociado correspondan a una columna, es decir:
Usando ClickHouse local y un simple GROUP BY, podemos reestructurar nuestros datos para que adopten esta estructura. Para limitar la sobrecarga de memoria, lo hacemos archivo por archivo.
Esta consulta genera un solo archivo de 50 GB: noaa.csv.

Enriquecimiento de los datos

Los datos no incluyen ninguna indicación de ubicación aparte de un identificador de estación, que incorpora un prefijo con el código del país. Idealmente, cada estación tendría una latitud y una longitud asociadas. Para ello, NOAA proporciona convenientemente los detalles de cada estación en un archivo independiente, ghcnd-stations.txt. Este archivo tiene varias columnas, de las cuales cinco son útiles para nuestro análisis posterior: id, latitude, longitude, elevation y name.
Esta consulta tarda unos minutos en ejecutarse y genera un archivo de 6.4 GB, noaa_enriched.parquet.

Crear una tabla

Crea una tabla MergeTree en ClickHouse (desde el cliente de ClickHouse).

Insertar en ClickHouse

Insertar desde un archivo local

Se pueden insertar datos desde un archivo local de la siguiente manera (desde cliente de ClickHouse):
donde <path> representa la ruta completa del archivo local en disco. Consulta aquí cómo acelerar esta carga.

Insertar desde S3

Para saber cómo acelerar este proceso, consulta nuestra entrada del blog sobre cómo optimizar grandes cargas de datos.

Consultas de ejemplo

Temperatura máxima histórica

En consonancia, de forma tranquilizadora, con el registro documentado de Furnace Creek hasta 2023.

Mejores estaciones de esquí

Usando una lista de estaciones de esquí de Estados Unidos y sus respectivas ubicaciones, las cruzamos con las 1000 estaciones meteorológicas con más nieve registrada en cualquier mes de los últimos 5 años. Al ordenar este join por geoDistance y limitar los resultados a aquellos en los que la distancia es inferior a 20 km, seleccionamos el resultado principal de cada estación de esquí y lo ordenamos por nieve total. Ten en cuenta que también limitamos las estaciones de esquí a aquellas situadas por encima de los 1800 m, como indicador general de buenas condiciones para esquiar.

Créditos

Queremos reconocer la labor de la Global Historical Climatology Network en la preparación, depuración y distribución de estos datos. Agradecemos su esfuerzo. Menne, M.J., I. Durre, B. Korzeniewski, S. McNeal, K. Thomas, X. Yin, S. Anthony, R. Ray, R.S. Vose, B.E.Gleason, and T.G. Houston, 2012: Global Historical Climatology Network - Daily (GHCN-Daily), Versión 3. [indicar el subconjunto utilizado después del decimal, por ejemplo, Versión 3.25]. NOAA National Centers for Environmental Information. http://doi.org/10.7289/V5D21VHZ [17/08/2020]
Última modificación el 2 de julio de 2026