데이터 분석가용 BigQuery GIS 시작하기

이 가이드에서는 BigQuery GIS를 소개합니다. BigQuery GIS를 사용하면 BigQuery에서 지리공간 데이터를 쉽게 분석하고 시각화할 수 있습니다.

목표

이 가이드의 목표는 다음과 같습니다.

  • BigQuery GIS 함수를 사용하여 위도와 경도 열을 지리적 점으로 변환
  • 30대가 넘는 대여 가능한 자전거를 보유한 모든 Citi Bike 정차장을 찾는 쿼리 실행
  • BigQuery Geo Viz에서 결과 시각화

비용

이 가이드에서는 비용이 청구될 수 있는 다음과 같은 Cloud Platform 구성요소를 사용합니다.

  • Google BigQuery

다음에 대한 비용이 부과됩니다.

  • BigQuery 공개 데이터세트의 데이터 쿼리
    • 매월 1TB까지는 무료로 제공됩니다.
    • 고정 요금제를 사용하는 경우 쿼리 비용은 월정액에 포함됩니다.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Select or create a Google Cloud Platform project.

    Go to the Manage resources page

  3. 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

  4. 새 프로젝트에서는 BigQuery가 자동으로 사용 설정됩니다. 기존 프로젝트에서 BigQuery를 활성화하려면 다음으로 이동하세요. BigQuery API를 사용 설정합니다.

    API 사용 설정

대상

이 가이드는 데이터 분석가를 위한 입문 가이드입니다.

데이터 분석가는 BigQuery 표준 SQL을 사용하여 비즈니스 전략 및 운영을 나타내는 데이터 트렌드를 분석할 수 있습니다. 여기에는 BigQuery ML을 사용하여 ML 모델을 학습시키고 평가하며 예측 분석을 수행하는 작업이 포함됩니다.

데이터 분석가는 주로 다음과 같은 다양한 UI 기반 도구를 사용합니다.

  • GCP Console의 BigQuery 웹 UI
  • 스프레드시트
  • RStudio와 같은 통계 소프트웨어
  • Cloud Datalab 및 데이터 스튜디오와 같은 시각화 도구

샘플 데이터 탐색

이 가이드에서는 Google Cloud 공개 데이터세트 프로그램을 통해 제공되는 데이터세트를 사용합니다. 공개 데이터세트는 BigQuery에 저장되며 일반 대중이 사용할 수 있는 모든 데이터세트입니다. 공개 데이터세트는 사용자가 액세스하고 애플리케이션에 통합할 수 있도록 BigQuery가 호스팅하는 데이터세트입니다. 이러한 데이터세트의 저장 비용은 Google에서 부담하며 프로젝트를 통해 데이터에 대한 공개 액세스 권한을 부여합니다. 사용자에게는 데이터에 대한 쿼리 요금만 부과됩니다(쿼리 가격 책정 세부정보에 따라 매월 1TB까지는 무료).

NYC Citi Bike 운행 데이터세트

NYC Citi Bike 운행

미국 최대 규모의 자전거 공유 프로그램인 Citi Bike는 맨해튼, 브루클린, 퀸즈, 저지시티에 자전거 10,000대와 600개의 정차장을 보유하고 있습니다. 이 데이터세트에는 2013년 9월 Citi Bike가 설립된 이후의 Citi Bike 운행 정보가 포함되어 있으며 매일 업데이트됩니다. 이 데이터는 Citi Bike에서 처리하여 시스템 수리 및 조사를 위해 수집한 운행과 잘못된 시작으로 간주되는 길이 60초 이하의 운행을 삭제했습니다.

citibike_stations 테이블의 세부정보를 보면서 BigQuery 콘솔에서 이 데이터를 탐색할 수 있습니다.

citibike_stations 스키마로 이동

이 테이블에 있는 열 3개는 이 가이드와 관련이 있습니다.

  • bike_stations.longitude - 정차장의 경도입니다. 값은 십진수 도 형식의 유효한 WGS 84개 경도입니다.
  • bike_stations.latitude - 정차장의 위도입니다. 값은 십진수 도 형식의 유효한 WGS 84개 위도입니다.
  • num_bikes_available - 대여 가능한 자전거 수입니다.

30대가 넘는 사용 가능한 자전거를 보유한 자전거 정차장에 대한 쿼리 실행

본 가이드의 이 섹션에서는 30대가 넘는 대여 가능한 자전거를 보유한 모든 Citi Bike 정차장을 찾는 표준 SQL 쿼리를 실행합니다.

쿼리 세부정보

다음 표준 SQL 쿼리는 30대가 넘는 자전거를 보유한 Citi Bike 정차장을 찾는 데 사용됩니다.

#standardSQL
SELECT
  ST_GeogPoint(longitude, latitude)  AS WKT,
  num_bikes_available
FROM
  `bigquery-public-data.new_york.citibike_stations`
WHERE num_bikes_available > 30

이 쿼리 절은 다음 안내를 따릅니다.

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    SELECT 절은 num_bikes_available 열을 선택하고 ST_GeogPoint 함수를 사용하여 latitudelongitude 열의 값을 GEOGRAPHY 유형(점)으로 변환합니다.
  • FROM `bigquery-public-data.new_york.citibike_stations`
    FROM 절은 쿼리 대상 테이블(citibike_stations)을 지정합니다.
  • WHERE num_bikes_available > 30
    WHERE 절은 30대가 넘는 자전거를 보유한 정차장만 표시하도록 num_bikes_available 열의 값을 필터링합니다.

쿼리 실행

GCP Console에서 BigQuery 웹 UI를 사용하여 쿼리를 실행하려면 다음 단계를 따르세요.

  1. BigQuery 웹 UI로 이동합니다.

    BigQuery 웹 UI로 이동

  2. 쿼리 편집기 텍스트 영역에 다음 표준 SQL 쿼리를 입력합니다.

    #standardSQL
    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. 실행을 클릭합니다.

    쿼리를 완료하는 데 시간이 다소 걸립니다. 쿼리가 실행된 후 결과가 쿼리 결과 창에 표시됩니다.

    자전거 정차장 쿼리 결과

Geo Viz에서 쿼리 결과 시각화

다음으로는 BigQuery Geo Viz(Google Maps API를 이용하여 BigQuery에서 지리공간 데이터를 시각화하는 웹 도구)로 결과를 시각화합니다.

Geo Viz 시작 및 인증

Geo Viz를 사용하기 전에 BigQuery의 데이터에 대한 액세스 권한을 인증하고 부여해야 합니다.

Geo Viz를 설정하려면 다음 안내를 따르세요.

  1. Geo Viz 웹 도구를 엽니다.

    Geo Viz 웹 도구 열기

  2. 1단계 데이터 선택에서 인증을 클릭합니다.

    Geo Viz 승인 버튼

  3. 계정 선택 대화상자에서 자신의 Google 계정을 클릭합니다.

    계정 선택 대화상자

  4. 액세스 대화상자에서 허용을 클릭하여 Geo Viz에 자신의 BigQuery 데이터에 액세스할 수 있는 권한을 부여합니다.

    액세스 허용 대화상자

GIS 데이터에서 표준 SQL 쿼리 실행

액세스 권한을 인증하고 부여한 후 다음 단계는 Geo Viz에서 쿼리를 실행하는 것입니다.

쿼리를 실행하려면 다음 안내를 따르세요.

  1. 1단계 데이터 선택에서 프로젝트 ID 필드에 프로젝트 ID를 입력합니다.

  2. 쿼리 창에 다음과 같은 표준 SQL 쿼리를 입력합니다.

    #standardSQL
    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. 처리 위치에서 US를 선택합니다. 공개 데이터세트를 쿼리하면 공개 데이터세트가 미국에 저장되므로 US를 처리 위치로 선택합니다.

  4. 실행을 클릭합니다.

  5. 쿼리가 완료되면 결과 보기를 클릭합니다. 2단계인 열 정의도 클릭할 수 있습니다.

    결과 보기

  6. 그러면 2단계로 넘어갑니다. 2단계에서 도형 열WKT를 선택합니다. 그러면 지도에 자전거 정차장에 해당하는 점이 표시됩니다.

    매핑된 결과

시각화 형식 지정

스타일 섹션에는 맞춤설정을 위한 시각 스타일의 목록이 나와 있습니다. 특정 속성은 특정한 데이터 유형에만 적용됩니다. 예를 들어 circleRadius는 점에만 영향을 미칩니다.

지원되는 스타일 속성은 다음과 같습니다.

  • fillColor - 다각형 또는 점의 채우기 색상. 예를 들어 'linear' 또는 'interval' 함수는 숫자 값을 색상 그라디언트에 매핑하는 데 사용될 수 있습니다.
  • fillOpacity - 다각형 또는 점의 채우기 불투명도. 값은 0에서 1 사이여야 합니다. 여기서 0은 투명이고, 1은 불투명입니다.
  • strokeColor - 다각형 또는 선의 획이나 윤곽선 색상.
  • strokeOpacity - 다각형 또는 선의 획이나 윤곽선 불투명도. 값은 0에서 1 사이여야 합니다. 여기서 0은 투명이고, 1은 불투명입니다.
  • strokeWeight - 다각형 또는 선의 획 또는 윤곽선 너비(픽셀 단위).
  • circleRadius - 점을 나타내는 원의 반지름(픽셀 단위). 예를 들어 산점도 스타일을 만들기 위해 'linear' 함수를 사용하여 숫자 값을 점 크기에 매핑할 수 있습니다.

각 스타일마다 글로벌 값(모든 결과에 적용됨) 또는 데이터 기반 값(각 결과 행의 데이터에 따라 서로 다른 방식으로 적용됨)이 지정됩니다. 데이터 기반 값의 경우 결과를 결정하는 데 다음이 사용됩니다.

  • function - 필드 값에서 스타일 값을 계산하는 데 사용되는 함수입니다.
  • identity - 스타일 값으로 사용되는 각 필드의 데이터 값입니다.
  • categorical - 도메인에 나열된 각 필드의 데이터 값이 범위 내의 해당 스타일과 일대일로 매핑됩니다.
  • interval - 각 필드의 데이터 값이 도메인에서 가장 가까운 값으로 내림된 후 범위 내의 해당 스타일로 스타일링됩니다.
  • linear - 각 필드의 데이터 값이 도메인의 여러 값에 대하여 선형으로 보간된 후 범위 내의 해당 스타일의 혼합으로 스타일이 지정됩니다.
  • field - 데이터에서 지정된 필드가 스타일 지정 함수의 입력으로 사용됩니다.
  • domain - 필드의 샘플 입력값의 순서가 지정된 목록입니다. 샘플 입력(도메인)은 지정한 함수에 따라 샘플 출력(범위)과 페어링되고 모든 입력의 스타일 값을 유추하는 데 사용됩니다(도메인에 나열되지 않은 값까지 포함). 도메인의 값은 시각화하는 필드의 값과 동일한 유형(텍스트, 숫자 등)이어야 합니다.
  • range - 스타일 규칙의 샘플 출력 값의 목록입니다. 범위의 값은 제어할 스타일 속성과 동일한 유형(색상 또는 숫자)이어야 합니다. 예를 들어 fillColor 속성 범위에는 색상만 포함됩니다.

지도의 형식을 지정하려면 다음 안내를 따르세요.

  1. 2단계의 스타일 추가 또는 3단계 스타일을 클릭합니다.

  2. 점의 색상을 변경합니다. fillColor를 클릭합니다.

  3. 필드에 파란색을 나타내는 HTML 색상 코드인 #0000FF를 입력합니다.

    색상 채우기

  4. 지도를 확인합니다. 점 중 하나에 마우스를 가져가면 해당 값이 표시됩니다.

    지도 점 세부정보

  5. fillOpacity를 클릭합니다.

  6. 필드에 .5를 입력합니다.

    채우기 불투명도

  7. 지도를 확인합니다. 이제 점 채우기 색상이 반투명해졌습니다.

    반투명 점이 있는 지도

  8. 사용 가능한 자전거 수에 따라 점의 크기를 변경합니다. circleRadius를 클릭합니다.

  9. circleRadius 패널에서:

    1. 데이터 기반을 클릭합니다.
    2. Function(함수)linear를 선택합니다.
    3. 필드에서 num_bikes_available을 선택합니다.
    4. 도메인에서 첫 번째 상자에 30을, 두 번째 상자에 60을 입력합니다.
    5. 범위에서 첫 번째 상자에 5를, 두 번째 상자에 20을 입력합니다.

      원 반경

  10. 지도를 확인합니다. 이제 각 원의 반경이 해당 위치에서 사용 가능한 자전거 수에 해당합니다.

    최종 지도

  11. Geo Viz를 닫습니다.

삭제

이 가이드에서 사용한 리소스 비용이 Google Cloud Platform 계정에 청구되지 않도록 하는 방법은 다음과 같습니다.

  • 만든 프로젝트를 삭제할 수 있습니다.
  • 또는 나중에 사용할 수 있도록 프로젝트를 유지할 수 있습니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. GCP Console에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.