구글 BigQuery 개요



BigQuery란?

  • Google에서 드레멜 엔진을 사용해 만든 페타 바이트 규모의 저비용 데이터 웨어하우스입니다. 구글에서 관리해주기 때문에 사용자가 별도의 서버나 물리적 하드웨어에 대해 스트레스를 받을 일이 없습니다.
  • 일반적인 rdb나 noSQL보다 속도가 월등히 빠르며, 몇초 안에 TB를 스캔할 수 있습니다. 또한 Google Cloud Storage에서 데이터를 읽어 분석할 수 있습니다
  • 데이터 저장 및 컴퓨팅의 개념을 분리해 독립적으로 비용을 지불할 수 있습니다
  • 웹 UI 혹은 Command Line tool을 사용해 BigQuery를 이용할 수 있으며 Rest API와 클라이언트 라이브러리가 준비되어 있습니다 ( python, java, c#, go, node.js, php, ruby )

  • Firebase 와 연동해서 사용할 경우 100000% 정말 좋습니다! ( 모든 데이터가 누락없이 쌓이는데, 신경쓸 필요가 없습니다! )
  • Legacy SQL과 Standard SQL 2가지 방식으로 쿼리를 날릴 수 있습니다 (세부 문법이 살짝 다릅니다!)
  • key, index가 따로 존재하지 않고 Full Scan을 합니다
  • Select할 때, Column base로 비용을 부과합니다

  • Third Party 도구들과 호환됩니다 ( Tableau, Google Analytics 360 suite )

BigQuery 시작

  1. Google Cloud 회원 가입
  2. Google 로그인
  3. Project 생성 및 선택

    단, 처음에 체험판 등록하면 300$ 제공합니다

  4. BigQuery API 등록

BigQuery UI console

  • 위 화면은 BigQuery에 처음 진입하면 나오는 화면입니다. BigQuery Console이 디자인 및 기능을 개선한 버전이 개발중입니다!
  • ‘COMPOSE QUERY’를 누르면 쿼리를 날릴 수 있는 화면이 보입니다!

1) Navigation bar

  • COMPOSE QUERY : 이 버튼을 누르면 쿼리를 날릴 수 있는 창이 나타납니다! (우측과 같은 Query Editor가 생겨요)
  • Query History : 조회했던 쿼리가 기록이 나타납니다. 무한정으로 쿼리 History를 볼 수 있는것은 아니에요!
  • Job History : Job 작업의 기록이 나타납니다. Job은 load data, export data(table), copy data(table)
  • My Project라고 써있는 곳은 ‘Project’ 부분입니다! 현재 저는 4개의 Dataset이 존재합니다
  • Public Datasets : BigQuery에서 사용할 수 있는 무료 Datasets입니다! 연습하기에 정말 좋은 자료들입니다

2) Query Editor

  • New Query라고 써있는 곳은 쿼리의 이름을 나타냅니다. 그 아래의 흰 공간에서 Query를 입력할 수 있습니다
  • 우측의 UDF Editor는 java script로 사용자 정의 함수( User Define Function )를 만들 수 있습니다
  • Run Query : 쿼리를 실행하는 버튼으로 단축키는 command(ctrl) + Enter입니다
  • Save View : 쿼리 결과(View)를 저장하는 버튼으로 legacy SQL을 사용할 경우 가능합니다(개인적으론 Save View보단 다른 table로 저장하는 것을 선호해요)
  • Format Query : 형식에 맞게 자동으로 수정해줍니다
  • Show Options : 다양한 옵션 설정이 가능합니다. 예를 들어 쿼리 결과를 Table로 저장하는 것, 거대한 Result도 허락하는 것, Query Cashing 유무, Legacy / Standard SQL 선택 등이 가능합니다

3) Querys list

  • 이 부분은 Query history를 누를 경우 생깁니다. History가 나오고 Filter로 검색해볼 수 있습니다
  • Datasets의 Table을 클릭할 경우, 이 부분에 Table에 대한 정보가 나타납니다
  • Run Query를 실행한 경우 이 부분에 쿼리 결과가 나타납니다

Table Detail

  • Schema : 해당 테이블의 Schema(Column 이름, 타입, 설명)가 있습니다
  • Details : 해당 테이블과 관련된 정보가 포함되어 있습니다(Table ID, Size, Number of Rows, Creation Time, Labels)
  • Preview : 해당 테이블에 데이터가 어떻게 적재되어있는지 볼 수 있습니다!! 유용한 기능입니다
  • Refresh : 새로고침
  • Query Table : 클릭하면 테이블에 쿼리를 날릴 수 있는 기본구조가 구성됩니다
  • Copy Table : 테이블을 Copy
  • Export Table : 테이블을 Export합니다. CSV, Json, Avro로 가능하며 GZIP으로 압축할 수 있습니다 (저장하는 공간은 Google Cloud Storage)
  • Delete Table : 테이블 삭제

Query Result

  • Results : 쿼리의 결과가 나타나는 공간입니다
  • Explanation : 쿼리의 단계별 연산에 대한 설명이 적혀있습니다
  • Job Information : 쿼리 Job에 대한 정보가 기록되어 있습니다
  • Save as Table : 지정하는 Table로 쿼리의 결과를 저장합니다
  • Save to Google Sheets : 구글 스프레드시트로 결과를 저장합니다. 저는 데이터 요청이 있을 경우, 대부분 스프레드시트로 공유합니다!

Keyboard shortcuts

Windows/LinuxMacAction
Ctrl + EnterCmd + Enter현재 Query를 실행
TabTab자동 완성기능
CtrlCmdTable 이름을 Highlight
Ctrl + /Cmd + /현재 줄 주석처리
Ctrl + Shift + FCmd + Shift + FQuery Format 맞추기

카일스쿨 유튜브 채널을 만들었습니다. 데이터 분석, 커리어에 대한 내용을 공유드릴 예정입니다.

PM을 위한 데이터 리터러시 강의를 만들었습니다. 문제 정의, 지표, 실험 설계, 문화 만들기, 로그 설계, 회고 등을 담은 강의입니다

이 글이 도움이 되셨거나 의견이 있으시면 댓글 남겨주셔요.

Buy me a coffeeBuy me a coffee





© 2017. by Seongyun Byeon

Powered by zzsza