빅 쿼리 사용법 - big kwoli sayongbeob

Big Query에서 사용하는 문법은 크게 Legacy SQL와 Standard SQL이 있는데, LegacySQL은 Big Query 초기부터 사용되던 문법이나 2.0 이후에 Standard SQL이 지원되었기 때문에, 여기서는

SELECT *
FROM `jayden-project.my_dataset.product`;
6 기준으로 포스팅하도록 하겠습니다. (좀더 자세히 알고 싶으신 분들은 구글 문서를 참조하시기 바랍니다)

Legacy SQL자세한 설명은 변성윤님의 Github에 매우 자세히 나와있기에, 궁금하신 분은 한번 참고해보시면 좋을거 같습니다

SELECT *
FROM `jayden-project.my_dataset.product`;
7


BigQuery Mate 설치

먼저 추천드리는 Chrome Extension이 있습니다

SELECT *
FROM `jayden-project.my_dataset.product`;
8으로 BigQuery Mate에 들어가서 설치를 해줍니다 그럼 자동으로 자동완성같은 부분이 지원이 되어서 문법적으로 틀릴일이 많이 줄어들 수 있습니다

빅 쿼리 사용법 - big kwoli sayongbeob


기본 구성

BigQuery를 열면 다음과 같은 화면을 볼 수 있습니다

여기서 좌측 상단의

SELECT *
FROM `jayden-project.my_dataset.product`;
9를 열면 오른쪽에 Query 입력창을 볼 수 있습니다 이제 여기다가, 쿼리를 입력해서 실행을 시키면 됩니다

빅 쿼리 사용법 - big kwoli sayongbeob

  • Project : 데이터를 담는 최상위 개념이며, 하나의 프로젝트에 여러개의 데이터셋이 들어갈 수 있습니다
  • Dataset : RDB에서 Database의 개념이며, 하나의 Dataset에 여러개의 테이블이 들어갈 수 있습니다
  • Table : RDB의 테이블과 동일한 개념입니다.
  • Job : BigQuery에 내리는 모든 명령을 Job이라 합니다

Standard SQL설정 하기

저희는

SELECT *
FROM `jayden-project.my_dataset.product`;
6로 설정을 하기 위해 우측 하단의
SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
1를 클릭하여 옵션을 봅니다 그럼 아래와 같이 화면이 나올텐데, 아래 표시한
SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
2의 체크를 해제해주면
SELECT *
FROM `jayden-project.my_dataset.product`;
6을 사용할 수 있게 됩니다 밑에 공간을 차지하니 우측 하단에
SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
4를 눌러서 옵션 화면을 숨깁니다

빅 쿼리 사용법 - big kwoli sayongbeob

여기까지 잘 따라왔으면 아래에

SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
5 이란 박스가 생긴것을 확인할 수 있습니다, 이제부터
SELECT *
FROM `jayden-project.my_dataset.product`;
6를 사용할 수 있습니다

빅 쿼리 사용법 - big kwoli sayongbeob


쿼리를 날릴때의 기본 구성

예제로 대략적인 형태를 보여드리고 설명을 하도록 하겠습니다

빅 쿼리 사용법 - big kwoli sayongbeob

제가 제일 햇갈렸던 부분은

SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
7 다음에 `사이에 프로젝트명, 데이터셋 테이블이름이 들어가는 문법이었습니다

아래는 Legacy SQL과 Standard SQL의 문법이 달라서 넣어봤습니다

 Legacy SQLStandard SQL문법[프로젝트명:데이터셋.테이블명]`프로젝트명.데이터셋.테이블명`예시[jayden-project:bq_test.access_log]`jayden-project.bq_test.access_log`

SELECT *
FROM `프로젝트명.데이터셋.테이블이름` -- 프로젝트명 생략 가능
WHERE 조건
ORDER BY 컬럼


BigQuery에서 지원하는 자료형

타입이름설명INTEGERINT64정수FLOATFLOAT64실수BOOLBOOL불 대수STRINGSTRING문자열BYTESBYTES바이트DATEDATE포맷 : YYYY-[M]M-[D]DDATETIMEDATETIME포맷 : YYYY-[M]M-[D]D[( T)[H]H:[M]M:[S]S[.DDDDDD]]TIMETIME포맷 : [H]H:[M]M:[S]S[.DDDDDD]TIMESTAMPTIMESTAMP포맷 : YYYY-[M]M-[D]D[( T)[H]H:[M]M:[S]S[.DDDDDD]][time zone]ARRAYARRAY배열STRUCTSTRUCT포맷 : STRUCT<T>

기본 문법

여기서는 빅쿼리에서 사용하는 기본 문법에 대해서 한번 살펴보도록 하려고 합니다. 위에서 말했던거처럼

SELECT *
FROM `jayden-project.my_dataset.product`;
6을 기준으로 진행하겠습니다 기본 SQL에서 많이 사용할만한 부분을 하고 추후에
SELECT HELLO.*
FROM `jayden-project.my_dataset.product` AS HELLO;
9 싶은건 계속 업데이트 해서 진행하도록 하겠습니다

안녕하세요. 구글 빅쿼리(BigQuery)를 첨으로 사용하시는 분들께 구글 빅쿼리 사용법에 대해서 간단하게 안내를 드립니다. 우선 구글 빅쿼리(BigQuery) 가 무엇이고, 왜 사용하는지, 그리고 어떻게 편하게 사용 하는지에 대해서 알아보도록 하겠습니다. 자, 따라오시죠.

구글 빅쿼리는 머신러닝(ML)에 특화된 Cloud Database 입니다. 비교적 저렴한 비용으로 많은 데이터에서 아주 빠르고 간단하게 Ansi SQL을 이용하여 데이터를 추출 해 낼수 있습니다.
OLAP성 데이터베이스로 이용하시면 아주 편합니다. 따로 물리서버나 개인 PC에 DB를 설치할 필요도 없이 언제 어디서든 데이터를 확인하고, 분석 할 수 있습니다.

사용방법은 매우 간단합니다. 우선 구글에 가입을 하시고, 계정이 있으신 분들은 로그인을 합니다. 그리고 아래 링크로 이동하여 아래 버튼을 눌러줍니다.

BigQuery: 클라우드 데이터 웨어하우스  |  Google Cloud

 

BigQuery: 클라우드 데이터 웨어하우스  |  Google Cloud

BigQuery는 비용 효율성을 갖춘 서버리스 멀티 클라우드 데이터 웨어하우스로, 빅데이터에서 가치 있고 유용한 비즈니스 정보를 얻을 수 있도록 설계되었습니다. 무료로 시작해 보세요.

cloud.google.com

빅 쿼리 사용법 - big kwoli sayongbeob
구글 빅쿼리 시작하기

그럼 300$의 기본 크레딧이 제공 됩니다. 또한 매월 10GB 스토리지를 사용 할 수 있으며, 1TB 쿼리가 무료로 제공되는 혜택을 받으실 수 있습니다. 그럼 시작해볼까요?

 

 

 

빅 쿼리 사용법 - big kwoli sayongbeob
약관 동의

위와 같이 사용약관 동의를 해줍니다.
그리고 계속하기를 눌러주시면 됩니다.

빅 쿼리 사용법 - big kwoli sayongbeob
프로젝트 선택

우선, 이 화면에서 프로젝트를 생성 해줘야 합니다. 상단에 있는 프로젝트 선택 버튼을 누르시고, 다음 화면과 같이 새 프로젝트를 선택해서 생성을 해주셔야 합니다.

빅 쿼리 사용법 - big kwoli sayongbeob
새 프로젝트

그럼 다음과 같은 화면이 뜹니다.
여기에서 프로젝트 이름 잘 지어주시고 만들기를 눌러주시면 진행이 됩니다.

빅 쿼리 사용법 - big kwoli sayongbeob
프로젝트 이름

이렇게 만들기를 누르고 기다리면 다음과 같이 초기화면에서 알림이 뜨는것을 확인 할 수 있습니다.
당연히 프로젝트 선택을 눌러주시면 됩니다.

빅 쿼리 사용법 - big kwoli sayongbeob
프로젝트 생성

 

 

 

그리고 다음과 같이 좌측 상단의 삼선버튼을 눌러 스크롤을 좀 내리다 보면 BigQuery가 보이실 겁니다.
선택 하시면 됩니다.
여기서 고정핀으로 고정을 해두시면 다음에 좀 더 편하겠죠?

빅 쿼리 사용법 - big kwoli sayongbeob
구글 빅쿼리 진입

이젠 구글빅쿼리 화면이 보이실텐데, 여기서 우선 프로젝트 하위에 데이터세트를 만들어주셔야 합니다. 그리고나서 테이블을 만들던지, 쿼리를 실행하던지 해야 하는거죠.
다음과 같이 탐색기 좌측 삼점버튼을 눌러서 데이터 세트를 만들어 줍니다.

빅 쿼리 사용법 - big kwoli sayongbeob
데이터 세트 만들기
빅 쿼리 사용법 - big kwoli sayongbeob
데이터 세트 만들기

자, 이러면 다음과 같이 탐색기 섹션에 방금 생성한 데이터 세트가 있는것을 확인 할 수 있습니다.
짜잔!!

 

 

 

빅 쿼리 사용법 - big kwoli sayongbeob
데이터 세트 추가

자, 우선 이렇게 구글 클라우드 플랫폼(GCP), 구글빅쿼리 쪽 작업은 데이터 세트를 만드는것 까지 해두고 다음은 datagrip에서 구글빅쿼리를 연동 시키는 방법을 안내해 드릴께요.
datagrip과 같은 외부 툴에서 구글빅쿼리를 연동 하려면 GCP에서 서비스 계정을 생성 해야 합니다.
다음 링크로가서 서비스 계정을 생성 해주세요.

https://console.cloud.google.com/iam-admin/

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

빅 쿼리 사용법 - big kwoli sayongbeob
서비스 계정 만들기
빅 쿼리 사용법 - big kwoli sayongbeob
서비스 계정 만들기
빅 쿼리 사용법 - big kwoli sayongbeob
서비스 계정 세부정보

전 뭐, 일단 권한은 소유자로 했습니다. 전체 모든 권한을 가지는 걸로 설정을 하고 진행 하겠습니다.
그리고 계속 버튼을 눌러서 진행 하시면 됩니다.

빅 쿼리 사용법 - big kwoli sayongbeob
서비스 계정 만들기

 

 

 

완료를 누르고나니 아래와 같이 목록에 서비스 계정이 생성 된것을 확인 할 수 있네요.
잘 생성이 되었습니다.

빅 쿼리 사용법 - big kwoli sayongbeob
서비스 계정 목록

자, 이번엔 키를 만들어 줘야 합니다.
다음과 같이 작업 아래에 있는 삼점버튼을 눌러서 키 관리로 들어갑니다.

빅 쿼리 사용법 - big kwoli sayongbeob
키 관리
빅 쿼리 사용법 - big kwoli sayongbeob
키 추가
빅 쿼리 사용법 - big kwoli sayongbeob
키 생성 하기

그러면 이젠 키가 생성이 되고 자동으로 PC에 저장이 될 것 입니다.
여기서 datagrip에는 어떻게 연동을 하느냐 안내를 드릴께요.

먼저, datagrip을 열고 DB추가를 하면 다음과 같이 화면이 나옵니다. 그리고 구글빅쿼리를 선택 하죠. 여기서 Connection type을 Service Account로 설정을 먼저 하세요.

그리고 Host와 Port는 그대로 두고 Project ID와 아까 생성한 서비스 계정과 다운받은 키의 PC내 경로를 써주시면 됩니다. 간단하게 접속이 됩니다.

빅 쿼리 사용법 - big kwoli sayongbeob
datagrip 구글빅쿼리 연동

위 화면을 참고 하시면 되겠습니다.
쉽게 시작 하실 수 있을것입니다.
일단 설정 소개는 여기까지 하겠습니다.
실 사용편은 다음편에서 뵈요!
감사합니다.

2021.07.28 - [Data Science] - 구글 빅쿼리(BigQuery) create table 방법 및 주의사항

 

구글 빅쿼리(BigQuery) create table 방법 및 주의사항

구글 빅쿼리(BigQuery) create table 방법 및 주의사항 안녕하세요. 지난번에 구글 빅쿼리(BigQuery)를 셋팅하고 서비스 계정을 만들어 datagrip과 연동하는것까지 포스팅을 드렸었는데요. 이번엔 연동한 da

stricky.tistory.com

2021.01.20 - [Database/mariaDB administrator] - datagrip 편의 기능 지원 DBMS 소개 및 사용법 | sTricky

 

datagrip 편의 기능 지원 DBMS 소개 및 사용법 | sTricky

datagrip 편의 기능 지원 DBMS 소개 및 사용법 | sTricky 안녕하세요. datagrip에 대한 장점이나 지원하는 DBMS나 초기 설정 부분 등은 지난편에서 안내를 드렸었습니다. 최근에 보니 datagrip에서 Google Bigque.

stricky.tistory.com

2021.02.17 - [Data Science] - Rain in Australia 캐글 날씨 데이터셋 다운로드 받아 mysql에 넣는 방법

 

Rain in Australia 캐글 날씨 데이터셋 다운로드 받아 mysql에 넣는 방법

Rain in Australia 캐글에서 테스트 데이터셋을 다운로드 받아 나의 mysql에 넣는 방법 소개!! 오늘은 데이터분석을 위한 첫걸음, 바로 분석할 데이터를 다운받아서 넣는 과정에 대해서 진행을 해보려

stricky.tistory.com

2020.02.10 - [Daily life] - 데이터 엔지니어의 업무분야별 특성, dba 커리어 이야기 feat.데이터 베이스 연봉

 

데이터 엔지니어의 업무분야별 특성, dba 커리어 이야기 feat.데이터 베이스 연봉

데이터 엔지니어 업무분야별 특성, dba 커리어 이야기 feat.데이터베이스 연봉 안녕하세요. 전 8년차 DBA 업무를 하고 있는 데이터 엔지니어 입니다. 이 글을 시작하기에 앞서, 같은 데이터베이스