Beispieldaten: OpenWeatherMap – Veraltet¶
OpenWeatherMap ist eine Sammlung aktueller historischer und vorhergesagter Wetterdaten im JSON-Format. Snowflake importiert diese Wetterdaten und stellt sie allen Snowflake-Konten kostenlos zur Verfügung, sodass Sie mit unserer einzigartigen, leistungsstarken, semistrukturierten, spaltenweisen Funktionalität anhand von Daten aus der realen Welt experimentieren können.
Wichtig
Die Beispielwetterdaten werden zu Auswertungs- und Testzwecken bereitgestellt. Die Daten werden in Snowflake regelmäßig aktualisiert, jedoch nicht in Echtzeit verwaltet, was gelegentlich zu leicht verzögerten Aktualisierungen führen kann (d. h. wir garantieren nicht, dass die Daten immer aktuell und/oder lückenlos sind).
Daher empfehlen wir nicht, die Daten in Produktionssystemen zu verwenden.
Unter diesem Thema:
Tabellen¶
Das Dataset enthält die folgenden Tabellen, die alle im nativen JSON-Format gespeichert und über die Zeit akkumuliert sind:
Tabellenname |
Beschreibung |
JSON-Beschreibung |
---|---|---|
DAILY_14_TOTAL |
12 Tage der täglichen Wettervorhersagen für mehr als 20.000 Städte. |
Klicken Sie hier. |
DAILY_16_TOTAL |
12 Tage der täglichen Wettervorhersagen für mehr als 200.000 Städte (geringere Aktualisierungshäufigkeit). |
Klicken Sie hier. |
HOURLY_14_TOTAL |
4 Tage der stündlichen Wettervorhersage für mehr als 20.000 Städte. |
Klicken Sie hier. |
HOURLY_16_TOTAL |
4 Tage der stündlichen Wettervorhersage für mehr als 200.000 Städte (geringere Aktualisierungshäufigkeit). |
Klicken Sie hier. |
WEATHER_14_TOTAL |
Aktuelles Wetter für 20.000 Städte. |
Klicken Sie hier. |
Abfragebeispiele¶
Mit der folgende Abfrage werden die letzten Hoch- und Tieftemperaturmessungen für New York City abgerufen, die von Celsius in Fahrenheit umgerechnet wurden, zusammen mit Breiten- und Längengrad der Messungen:
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;
Die folgende Abfrage vergleicht die Wettervorhersagen mit den tatsächlichen Wetterwerten:
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;