Amostra de dados: OpenWeatherMap — Obsoleto

OpenWeatherMap é um repositório de dados meteorológicos recentes, históricos e previstos, no formato JSON. O Snowflake importa esses dados meteorológicos e os disponibiliza gratuitamente para todas as contas Snowflake para que você possa experimentar nossa funcionalidade semiestruturada única e de alto desempenho usando dados do mundo real.

Importante

Os dados meteorológicos da amostra são fornecidos para fins de avaliação e teste. Os dados são atualizados regularmente no Snowflake, mas não são mantidos em tempo real, o que pode resultar em lapsos ocasionais em atualizações (ou seja, não garantimos que os dados estejam sempre atualizados e/ou sem lacunas).

Como tal, não recomendamos o uso dos dados nos sistemas de produção.

Neste tópico:

Tabelas

O conjunto de dados inclui as seguintes tabelas, todas armazenadas em formato nativo JSON e acumuladas ao longo do tempo:

Nome da tabela

Descrição

Descrição JSON

DAILY_14_TOTAL

12 dias de previsão meteorológica diária para mais de 20.000 cidades.

Clique aqui

DAILY_16_TOTAL

12 dias de previsão meteorológica diária para mais de 200.000 cidades (menor frequência de atualizações).

Clique aqui

HOURLY_14_TOTAL

4 dias de previsão meteorológica horária para mais de 20.000 cidades.

Clique aqui

HOURLY_16_TOTAL

4 dias de previsão meteorológica horária para mais de 200.000 cidades (menor frequência de atualizações).

Clique aqui

WEATHER_14_TOTAL

Meteorologia recente para 20.000 cidades.

Clique aqui

Exemplos de consulta

A consulta a seguir recupera as recentes leituras de alta e baixa temperatura para Nova Iorque, convertidas de temperaturas celsius para fahrenheit, juntamente com a latitude e longitude para as leituras:

select (V:main.temp_max - 273.15) * 1.8000 + 32.00 as temp_max_far,
       (V:main.temp_min - 273.15) * 1.8000 + 32.00 as temp_min_far,
       cast(V:time as TIMESTAMP) time,
       V:city.coord.lat lat,
       V:city.coord.lon lon,
       V
from snowflake_sample_data.weather.WEATHER_14_TOTAL
where v:city.name = 'New York'
and   v:city.country = 'US'
order by time desc
limit 10;
Copy

A consulta a seguir compara as previsões meteorológicas com as leituras meteorológicas reais:

with
forecast as
(select ow.V:time         as prediction_dt,
        ow.V:city.name    as city,
        ow.V:city.country as country,
        cast(f.value:dt   as timestamp) as forecast_dt,
        f.value:temp.max  as forecast_max_k,
        f.value:temp.min  as forecast_min_k,
        f.value           as forecast
 from snowflake_sample_data.weather.daily_16_total ow, lateral FLATTEN(input => V, path => 'data') f),

actual as
(select V:main.temp_max as temp_max_k,
        V:main.temp_min as temp_min_k,
        cast(V:time as timestamp)     as time_dt,
        V:city.name     as city,
        V:city.country  as country
 from snowflake_sample_data.weather.WEATHER_14_TOTAL)

select cast(forecast.prediction_dt as timestamp) prediction_dt,
       forecast.forecast_dt,
       forecast.forecast_max_k,
       forecast.forecast_min_k,
       actual.temp_max_k,
       actual.temp_min_k
from actual
left join forecast on actual.city = forecast.city and
                      actual.country = forecast.country and
                      date_trunc(day, actual.time_dt) = date_trunc(day, forecast.forecast_dt)
where actual.city = 'New York'
and   actual.country = 'US'
order by forecast_dt desc, prediction_dt desc;
Copy