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;