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;
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;