![[Bigquery] 지난 며칠 간 Python과 연동하여 사용한 소감](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTf1dc%2FbtrWyLLYm8g%2FajhBQBlmaIb5ECoooOPj4k%2Fimg.png)
지난 며칠 간 빅쿼리를 파이썬과 연동해서 사용하였다.
pip install google-cloud-bigquery
파이썬과 연동해서 사용하기 위해서는 Client 객체를 사용해야 한다. 공식 Documnet에서 Client 인스턴스에서 사용할 수 있는 method 목록을 확인할 수 있다.
Class Client (3.4.0) | Python client library | Google Cloud
Send feedback Class Client (3.4.0) Stay organized with collections Save and categorize content based on your preferences. Version latest keyboard_arrow_down Client( project=None, credentials=None, _http=None, location=None, default_query_job_config=None, c
cloud.google.com
Client 객체 생성은 아래와 같이 진행할 수 있다.
from google.cloud import bigquery
from google.oauth2 import service_account
json_path = 'key.json'
credentials = service_account.Credentials.from_service_account_file(
json_path
)
return bigquery.Client(
credentials=credentials, project=credentials.project_id
)
몇 가지 참고 사항이 있다.
google.oauth2와 google.cloud는 별도로 설치 하지 않아도 된다. google-cloud-bigquery와 dependency관계라서 자동으로 같이 설치 된다.
json_path는 서비스 계정을 json으로 다운 받은 것을 의미한다.
credentials내에 있는 project_id를 참조할 수 있다. 그러면, 추후 빅쿼리 이용시 프로젝트명을 명시하지 않아도 된다.
https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#where_keyword
Google 표준 SQL의 데이터 조작 언어(DML) 문 | BigQuery | Google Cloud
의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google 표준 SQL의 데이터 조작 언어(DML) 문 BigQuery DML을 사용하면 BigQuery 테이블에서 데이터를 업데
cloud.google.com
query메서드를 사용하면 QueryJob Class를 결과로 반환한다.
Class QueryJob (3.4.0) | Python client library | Google Cloud
Send feedback Class QueryJob (3.4.0) Stay organized with collections Save and categorize content based on your preferences. Version latest keyboard_arrow_down QueryJob(job_id, query, client, job_config=None) Asynchronous job: query tables. Parameters NameD
cloud.google.com
Query Job Class내 메서드들을 이용하여 다양한 아웃풋들을 확인할 수 있다.
쿼리는 익숙하고, 재미 삼아 python으로 연동하는 상황에서는 client클래스의 다른 method들을 사용하기 보다는 위와 같은 query 메서드를 이용하는게 편리할 것 같다.
'딥상어동의 딥한 프로그래밍 > 엔지니어링' 카테고리의 다른 글
우당탕탕 슬랙 메시지 저장기(1) - 슬랙 메시지 넌 누구냐? (8) | 2023.05.07 |
---|---|
데이터 마트에서는 뭘 파나요?(feat. OLTP, OLAP) (14) | 2023.03.26 |
[도커] 컨테이너 삭제 (0) | 2022.12.08 |
[ubuntu] ssh connection timed out (0) | 2022.08.16 |
[fast api] - uvicorn으로 api서버 실행하기 (0) | 2022.08.15 |
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!