Pular para o conteúdo principal
Este conjunto de dados contém medições meteorológicas dos últimos 120 anos. Cada linha é uma medição referente a um momento específico no tempo e a uma estação. Mais precisamente, e de acordo com a origem destes dados:
O GHCN-Daily é um conjunto de dados que contém observações diárias de áreas terrestres em todo o mundo. Ele inclui medições baseadas em estações terrestres do mundo todo, cerca de dois terços das quais são apenas de precipitação (Menne et al., 2012). O GHCN-Daily é uma compilação de registros climáticos de inúmeras fontes, que foram combinadas e submetidas a um conjunto comum de verificações de garantia de qualidade (Durre et al., 2010). O acervo inclui os seguintes elementos meteorológicos:
  • Temperatura máxima diária
    • Temperatura mínima diária
    • Temperatura no momento da observação
    • Precipitação (isto é, chuva, neve derretida)
    • Queda de neve
    • profundidade da neve
    • Outros elementos, quando disponíveis
As seções abaixo apresentam uma breve visão geral das etapas envolvidas para trazer este conjunto de dados para o ClickHouse. Se você tiver interesse em ler sobre cada etapa em mais detalhes, recomendamos dar uma olhada em nossa postagem no blog intitulada “Explorando conjuntos de dados massivos do mundo real: mais de 100 anos de registros meteorológicos no ClickHouse”.

Baixando os dados

  • Uma versão pré-processada dos dados para o ClickHouse, que foi limpa, reestruturada e enriquecida. Esses dados abrangem o período de 1900 a 2022.
  • Baixe os dados originais e converta-os para o formato exigido pelo ClickHouse. Usuários que desejam adicionar suas próprias colunas podem preferir essa abordagem.

Dados pré-preparados

Mais especificamente, foram removidas as linhas que não falharam em nenhuma das verificações de garantia de qualidade da NOAA. Os dados também foram reestruturados de uma medição por linha para uma linha por ID da estação e data, ou seja.
Isso é mais simples de consultar e garante que a tabela resultante seja menos esparsa. Por fim, os dados também foram enriquecidos com latitude e longitude. Esses dados estão disponíveis na seguinte localização no S3. Baixe os dados para seu sistema de arquivos local (e faça a inserção usando o ClickHouse client) ou insira-os diretamente no ClickHouse (consulte Inserção a partir do S3). Para baixar:

Dados originais

A seguir, são detalhadas as etapas para baixar e transformar os dados originais em preparação para a carga no ClickHouse.

Baixar

Para baixar os dados originais:

Amostragem de dados

Resumindo a documentação do formato: Resumindo a documentação do formato e, em seguida, as colunas:
  • Um código de identificação da estação com 11 caracteres. Ele codifica algumas informações úteis
  • YEAR/MONTH/DAY = data de 8 caracteres no formato YYYYMMDD (ex.: 19860529 = 29 de maio de 1986)
  • ELEMENT = indicador de 4 caracteres do tipo de elemento. Na prática, o tipo de medição. Embora haja muitas medições disponíveis, selecionamos as seguintes:
    • PRCP - Precipitação (décimos de mm)
    • SNOW - queda de neve (mm)
    • SNWD - Profundidade da neve (mm)
    • TMAX - Temperatura máxima (décimos de grau C)
    • TAVG - Temperatura média (décimos de grau C)
    • TMIN - Temperatura mínima (décimos de grau C)
    • PSUN - Percentual diário de insolação possível (percentual)
    • AWND - Velocidade média diária do vento (décimos de metro por segundo)
    • WSFG - Velocidade máxima de rajada de vento (décimos de metro por segundo)
    • WT** = Tipo de tempo, em que ** define o tipo de tempo. Lista completa dos tipos de tempo aqui.
    • DATA VALUE = valor de dados de 5 caracteres para ELEMENT, ou seja, o valor da medição.
    • M-FLAG = Flag de medição com 1 caractere. Ela tem 10 valores possíveis. Alguns desses valores indicam precisão questionável dos dados. Aceitamos dados em que ela está definida como “P” - identificado como ausência presumida como zero, pois isso só é relevante para as medições PRCP, SNOW e SNWD.
  • Q-FLAG é a flag de qualidade da medição, com 14 valores possíveis. Estamos interessados apenas em dados com valor vazio, ou seja, que não falharam em nenhuma verificação de garantia de qualidade.
  • S-FLAG é a flag de origem da observação. Não é útil para nossa análise e é ignorada.
  • OBS-TIME = horário da observação com 4 caracteres no formato hora-minuto (ou seja, 0700 = 7:00 da manhã). Normalmente não está presente em dados mais antigos. Nós o ignoramos para os nossos propósitos.
Uma medição por linha resultaria em uma estrutura de tabela esparsa no ClickHouse. Devemos transformar isso em uma linha por horário e estação, com as medições como colunas. Primeiro, limitamos o conjunto de dados àquelas linhas sem problemas, ou seja, em que qFlag é igual a uma string vazia.

Limpar os dados

Usando o ClickHouse local, podemos filtrar as linhas que correspondem às medições de interesse e atendem aos nossos requisitos de qualidade:
Com mais de 2,6 bilhões de linhas, esta não é uma consulta rápida, já que exige analisar todos os arquivos. Em nossa máquina de 8 núcleos, isso leva cerca de 160 segundos.

Pivotar os dados

Embora a estrutura de uma medição por linha possa ser usada com o ClickHouse, ela complicará desnecessariamente as consultas futuras. O ideal é ter uma linha por ID da estação e data, em que cada tipo de medição e seu valor associado sejam uma coluna, ou seja.
Usando o ClickHouse local e um GROUP BY simples, podemos repivotar os dados para esta estrutura. Para limitar o uso de memória, fazemos isso um arquivo por vez.
Esta consulta gera um único arquivo de 50 GB, noaa.csv.

Enriquecendo os dados

Os dados não trazem nenhuma indicação de localização além do ID da estação, que inclui um código de país como prefixo. O ideal seria que cada estação tivesse uma latitude e uma longitude associadas. Para isso, a NOAA disponibiliza convenientemente os detalhes de cada estação em um arquivo ghcnd-stations.txt separado. Esse arquivo tem várias colunas, das quais cinco são úteis para nossa análise futura: id, latitude, longitude, elevação e nome.
Esta consulta leva alguns minutos para ser executada e gera um arquivo de 6,4 GB, noaa_enriched.parquet.

Criar tabela

Crie uma tabela MergeTree no ClickHouse (usando o clickhouse client).

Inserção no ClickHouse

Inserindo a partir de um arquivo local

Os dados podem ser inseridos de um arquivo local da seguinte forma (no ClickHouse client):
em que <path> representa o caminho completo para o arquivo local no disco. Veja aqui como acelerar esse processo de carregamento.

Inserindo a partir do S3

Para saber como acelerar esse processo, veja nosso post no blog sobre como otimizar grandes cargas de dados.

Consultas de exemplo

Maior temperatura já registrada

Em linha, de forma tranquilizadora, com o registro documentado em Furnace Creek em 2023.

Melhores estações de esqui

Usando uma lista de estações de esqui nos Estados Unidos e suas respectivas localizações, fazemos um join com as 1000 estações meteorológicas com maior volume de neve em qualquer mês nos últimos 5 anos. Ordenando esse join por geoDistance e restringindo os resultados àqueles em que a distância é menor que 20 km, selecionamos o melhor resultado para cada estação de esqui e o ordenamos pela neve total. Observe que também restringimos as estações de esqui àquelas acima de 1800 m, como um indicador geral de boas condições para a prática de esqui.

Créditos

Gostaríamos de reconhecer o trabalho da Global Historical Climatology Network na preparação, limpeza e distribuição destes dados. Agradecemos por esse esforço. 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), Version 3. [indique o subconjunto usado após o decimal, por exemplo Version 3.25]. NOAA National Centers for Environmental Information. http://doi.org/10.7289/V5D21VHZ [17/08/2020]
Última modificação em 10 de junho de 2026