샘플 데이터: OpenWeatherMap — 사용되지 않음

OpenWeatherMap 는 최근 과거 및 예측 날씨 데이터를 JSON 형식으로 제공하는 리포지토리입니다. Snowflake는 이러한 날씨 데이터를 가져와 모든 Snowflake 계정에서 무료로 사용할 수 있도록 제공하므로, 사용자는 실제 데이터를 사용하여 고유한 고성능 반정형 열 형식 기능을 실험할 수 있습니다.

중요

샘플 날씨 데이터는 평가 및 테스트용으로 제공됩니다. 데이터는 Snowflake에서 정기적으로 업데이트되지만, 실시간으로 유지되지 않으므로 종종 업데이트가 지연되는 경우가 있습니다(즉, 데이터가 항상 최신이고/이거나 차이가 없음이 보장되지 않음).

그러므로 Snowflake는 프로덕션 시스템의 데이터를 사용하는 것을 권장합니다.

이 항목의 내용:

테이블

데이터 세트에는 다음과 같은 테이블이 포함되며, 이러한 테이블은 모두 기본 JSON 형식으로 저장되고 시간 경과에 따라 누적됩니다.

테이블 이름

설명

JSON 설명

DAILY_14_TOTAL

20,000개 이상 도시에 대한 12일 일일 일기예보입니다.

여기 를 클릭하십시오.

DAILY_16_TOTAL

200,000개 이상 도시에 대한 12일 일일 일기예보입니다(자주 업데이트되지 않음).

여기 를 클릭하십시오.

HOURLY_14_TOTAL

20,000개 이상 도시에 대한 4일 시간별 일기 예보입니다.

여기 를 클릭하십시오.

HOURLY_16_TOTAL

200,000개 이상 도시에 대한 4일 시간별 일기예보입니다(자주 업데이트되지 않음).

여기 를 클릭하십시오.

WEATHER_14_TOTAL

20,000개 도시에 대한 최근 날씨입니다.

여기 를 클릭하십시오.

쿼리의 예

검침값의 위도 및 경도와 함께 섭씨에서 화씨 온도로 변환된 뉴욕시의 최근 고온 및 저온 검침값을 검색하는 쿼리는 다음과 같습니다.

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

일기 예보와 실제 날씨 검침값과 비교하는 쿼리는 다음과 같습니다.

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