ETC

Google Colab과 Google BigQuery 연동하기

5_ssssseung 2020. 9. 17. 23:41

프로젝트를 진행하는 과정에서 데이터 적재 필요성을 느꼈다.

 

다양한 SQL 툴에 적재가 가능하지만,

Google Cloud로 엮인 "Colab"과 "BigQuery"를 연동하고자 한다.

 

방법은 매우 간편하다.

 

 

1. 라이브러리 호출

from pandas.io import gbq

 

2. BigQuery 데이터 세트 및 테이블 만들기

다음과 같은 구색이 맞춰져 있어야 한다.

  1.  "Project_id"를 눌러 화면 오른쪽의 "데이터 세트 만들기"
  2.  "데이터세트"를 만든 후, 화면 오른쪽의 "테이블 만들기"

(무료 계정은 BigQuery 사용에 제한이 있다. 하지만 나와 같은 초보자들이 사용하기엔 큰 문제없으니 괜찮다.)

 

 

3. Google Cloud API 연결, DataFrame 업로

df.to_gbq(destination_table='Data_set.data_table',
		  project_id='Project_id',
		  if_exists='replace')
  • df : BigQuery에 적재할 대상이다. (Pandas DataFrame 형태가 아니여도 csv, xtml 파일도 가능하다.)
  • 'Data_set.data_table' : BigQuery에 적재될 위치다. 이미 만들어놓은 Data_set과 data_table의 이름을 붙여 넣도록 한다.
  • 'Project_id' : 사용자의 Project_id 값을 붙여넣도록 한다.

다음과 같이 입력하면 BigQuery에 데이터가 적재된다.

※ 주의할 점 : column명이 숫자로 시작되거나 한글이라면 영문으로 바꿔주도록 한다.

 

4.  BigQuery로부터 데이터 호출

import pandas as pd

sql = "SELECT * FROM Data_Set.data_table WHERE * ORDER BY * limit *"
project_id = 'my_project_id"

df = pd.read_gbq(sql, project_id=project_id, dialect='standard')
  • sql : 호출할 데이터에 대한 쿼리문을 작성한다.
  • FROM Data_set.data_table : 호출 대상인 데이터 위치를 "Data_set이름.data_table이름"으로 넣어준다.
  • project_id : 나의 프로젝트 아이디를 넣어준다.

쿼리문에 작성한 대로 데이터가 DataFrame형태로 df변수에 들어온다.