안녕하세요! 요즘 몸이 별로 좋지 않아서 블로그 글을 거의 쓰지 못했네요ㅠㅠ
오늘은 빅쿼리(BigQuery)와 파이썬을 연동하는 방법에 대해서 포스팅 하겠습니다.
- 빅쿼리(BigQuery) 란?
구글 클라우드 플랫폼에서 제공하는 클라우드 기반의 데이터웨어 하우스 서비스입니다.
구글 계정으로 관리하기 쉽기 때문에 요즘 다양한 회사에서 빅쿼리를 사용하고 있습니다.
- 파이썬이랑 연동하는 이유
- 대용량 결과물 저장
빅쿼리에서는 기본적으로 결과물을 csv 파일로 저장하거나, 스프레드 시트로 저장하는 기능을 제공하고 있습니다.
하지만 데이터 결과물의 용량이 너무 클 경우에는 일부 데이터를 소실할 수 있는데, 데이터 분석의 특성 상 대용량의 데이터를 다루는 경우가 많기 때문에 생각보다 데이터가 소실되는 경우를 자주 경험할 수 있습니다.
이런 경우 빅쿼리와 파이썬을 연동하여 로컬 PC에 바로 csv 혹은 xlsx 파일로 결과물을 저장할 수 있습니다! - 쿼리로 해결하기 힘든 데이터 처리
쿼리에서는 데이터의 직접적인 비교 등 진행하기 어려운 작업들이 있기 때문에 파이썬과 연동하여 데이터를 원하는 목적에 맞게 정제할 수 있습니다. - 데이터 시각화
데이터 분석은 쿼리를 통해 데이터를 집계하는 것 뿐만 아니라, 보고서 등을 위해서 데이터를 시각화 하는 작업이 빈번하게 발생합니다.
요즘은 파이썬에서 데이터 시각화를 많이 진행하기 때문에 연동하여 진행하면, 시각화 작업을 수월하기 진행할 수 있습니다.
- 필요한 라이브러리 설치하기
빅쿼리와 파이썬을 연결하기 위해서는 먼저 pandas-gbq 라는 라이브러리를 설치해야 합니다.
일반 라이브러리 설치하시는 것처럼 설치해주시면 됩니다!
pip install pandas-gbq
- 코드 작성
파이썬 코드를 실행할 수 있는 실행기에서 아래 코드처럼 빅쿼리에서 실행이 가능한 쿼리와 함께 코드를 작성해주시면 손쉽게 빅쿼리 결과물을 로컬에 저장할 수 있습니다!
query="""
빅쿼리에서 실행할 쿼리
"""
purchase_log = pd.read_gbq(query=query, dialect='standard', project_id='빅쿼리 프로젝트 이름', auth_local_webserver=True)
purchase_log.to_csv(f"저장하고자 하는 파일 경로", sep=",", index=False, encoding='cp949')
※주의 ※
데어터의 양이 많을 경우 코드가 실행되는 시간이 길기 때문에 반드시 쿼리를 먼저 빅쿼리에서 확인 후에 파이썬에서 실행해주세요!
한글 데이터가 포함되는 경우 encoding='cp949'를 포함하지 않으면, 한글이 깨질 수 있습니다.
데이터의 양이 많다면 파일의 경로는 D드라이브로 하는 것을 추천합니다!
- 계정 선택
해당 코드를 처음 실행을 할 경우에는 크롬이 자동으로 뜨면서, 빅쿼리와 연결된 계정 선택 및 엑세스 요청 허가를 확인합니다.
알맞은 계정과 엑세스 허용을 하시면, 정상적으로 코드가 실행됩니다!
계정 선택의 과정은 컴퓨터마다 한 번만 진행이 됩니다.
실행이 완료되면, pandas를 이용해서 데이터를 정상적으로 로드할 수 있습니다.
1500만 정도 되는 데이터도 아주 잘 로드가 되는 것을 볼 수 있습니다!
빅쿼리는 파이썬과 연동하지 않으면 대용량 데이터를 저장하는 방법이 빅쿼리 자체에 테이블로 저장하는 방법 밖에 없기 때문에 파이썬에서 실행하는 방법을 익혀두시는 걸 추천드립니다!
궁금한 부분이 있으신 분들은 댓글로 남겨주시면, 답변 드리도록 하겠습니다.
★읽어주셔서 감사합니★