Across Datasets

Ch02 Working with BigQuery

I. Get Started

일단 시작해보자. https://console.cloud.google.com/bigquery

뉴욕주의 자전거 렌탈이 비가 올때와 그렇지 않을 때 수치를 비교하고자 않다. 어떻게 해야할까? 일단, 필요한 데이터는 두가지가 될 것이다. 첫번째는 자전거 렌탈 데이터가 필요하고, 두번째는 뉴욕주의 날씨와 관련된 데이터이다. 두개의 데이터를 조인(join)한 후 수치를 구해야 할 것이다.

위 화면에서 아래 소스코드를 입력한다.

WITH bicycle_rentals AS (
  SELECT
  COUNT(starttime) as num_trips,
  EXTRACT(DATE from starttime) as trip_date
  FROM `bigquery-public-data.new_york_citibike.citibike_trips` 
  GROUP BY trip_date
),

rainy_days AS
(
  SELECT
  date,
  (MAX(prcp) > 5) AS rainy
  FROM (
    SELECT wx.date AS date,
    IF (wx.element = 'PRCP', wx.value/10, NULL) AS prcp
    FROM `bigquery-public-data.ghcn_d.ghcnd_2016` AS wx 
    WHERE wx.id = 'USW00094728'
)
GROUP BY
  date
)
SELECT 
  ROUND(AVG(bk.num_trips)) AS num_trips, 
  wx.rainy
FROM bicycle_rentals AS bk
JOIN rainy_days AS wx
ON wx.date = bk.trip_date
GROUP BY wx.rainy
ROW num_trips rainy
1 39107.0 false
2 32052.0 true