샘플 데이터: 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;
일기 예보와 실제 날씨 검침값과 비교하는 쿼리는 다음과 같습니다.
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;