Données d’échantillon : OpenWeatherMap — obsolète¶
OpenWeatherMap est un référentiel de données météorologiques historiques et prévisionnelles récentes au format JSON. Snowflake importe ces données météorologiques et les met gratuitement à la disposition de tous les comptes Snowflake afin que vous puissiez essayer notre fonctionnalité de colonnes semi-structurées unique et hautement performante à l’aide de données réelles.
Important
Les exemples de données météorologiques sont fournis à des fins d’évaluation et de test. Les données sont mises à jour régulièrement dans Snowflake, mais ne sont pas gérées en temps réel (c’est-à-dire que nous ne garantissons pas que les données sont toujours à jour ou exactes).
Ainsi, nous déconseillons d’utiliser les données dans les systèmes de production.
Dans ce chapitre :
Tables¶
L’ensemble de données comprend les tables suivantes, toutes stockées au format natif JSON et accumulés au cours du temps :
Nom de la table |
Description |
Description JSON |
---|---|---|
DAILY_14_TOTAL |
12 jours de prévisions météorologiques quotidiennes pour plus de 20 000 villes. |
Cliquez ici |
DAILY_16_TOTAL |
12 jours de prévisions météorologiques quotidiennes pour plus de 200 000 villes (fréquence des mises à jour plus faible). |
Cliquez ici |
HOURLY_14_TOTAL |
4 jours de prévisions météorologiques horaires pour plus de 20 000 villes. |
Cliquez ici |
HOURLY_16_TOTAL |
4 jours de prévisions météorologiques horaires pour plus de 200 000 villes (fréquence des mises à jour plus faible). |
Cliquez ici |
WEATHER_14_TOTAL |
Météo récente pour 20 000 villes. |
Cliquez ici |
Exemples de requête¶
La requête suivante récupère les derniers relevés de température maximum et minimum de la ville de New York convertis en Fahrenheit depuis le celsius, et avec la latitude et la longitude des relevés.
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;
La requête suivante compare les prévisions météorologiques aux relevés météorologiques réels :
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;