본문 바로가기

SQL 코딩 입문

SQL 중급: 4일차

강의를 들으려는데 구글 빅쿼리에서 데이터 세트 미리보기가 안 되어서 해결 방법을 정리했다.

기본으로 돌아가서 구글 빅쿼리 프로젝트 생성 방법부터 차근히 정리해본다.

 

 

1. 구글 빅쿼리 시작하기

https://console.cloud.google.com/bigquery

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

링크로 들어가서 간단하게 약관 동의를 하고 가입하면 아래와 같은 화면이 뜹니다.

오른쪽에 프로젝트 만들기를 누릅니다.

 

오른쪽 프로젝트 만들기 선택

 

새 프로젝트를 생성하려면 뭘 많이 입력하라고 하는데, 그냥 두고 만들기 누르면 됩니다.

아래쪽 만들기 선택

 

그럼 아래처럼 프로젝트가 만들어지는데, 오른쪽 점 세개 버튼을 클릭해서

데이터 세트를 만들거나 프로젝트에 업로드 버튼으로 시작할 수 있다.

 

 

 

2. 데이터 세트 만들기

데이터 세트 만드는 방법은 쉽다.

 

1번에서 설명했던 프로젝트 오른쪽 점 세개 버튼을 클릭하고 데이터 세트 만들기를 하면

오른쪽에 데이터 세트 창이 뜬다.

 

ID 값만 입력하고 아래쪽에 파랗게 빛나고 있는 <데이터 세트 만들기> 버튼만 눌러주면 된다.

 

데이터세트 ID 값만 입력하고 아래쪽에 만들기 버튼을 누르면 됩니다

 

 

3. 데이터 세트에 테이블 만들기

데이터 세트에 테이블 만드는 방법도 쉽다.

 

2번에서 데이터 세트 만들었던 것처럼

앞서 만든 test 데이터 세트 오른쪽 점 세개 버튼을 클릭하고 테이블 만들기를 하면 된다.

 

데이터 세트에다가 테이블 만들기

 

 

프로젝트 만들기,  데이터 세트 만들기,  테이블 만들기를 순서대로 합니다.

 

 

왜 이렇게 깊은 구조로 되어 있을까?

 

전문가는 아니지만 데이터를 분석하는 PM 실무자로서 '문과적'으로 설명하자면

회사에서 관리하는 프로젝트는 보통 하나가 아니기 때문이다.

프로젝트 별로 우선 대분류를 하고 그 안에 데이터를 쌓는 계층형 구조라고 보면 된다.

 

예를 들어 삼성이라면 모바일, TV, 냉장고.. 이렇게 분류도 할 수 있지만

그 상위에 가전, 전장, 물산 등으로도 분류가 된다.

 

그렇다면 프로젝트 = 가전, 전장, 물산에서 하나씩 가지고 있고

데이터 테이블 = 모바일, TV, 냉장고로 구분해서 데이터를 쌓을 수 있다.

 

모바일 테이블 안에는 제품명, 출시일, 판매 개수 등... 상세한 정보가 담겨 있을 수 있다.

 

단순한 나의 추측이고
큰 기업은 데이터 관리를 전문적으로 하는 담당자가 있을 것이므로

정확한건 전문가에게 상담하자

 

 

왜 이렇게 계층적으로 데이터를 저장하고 관리할까?

 

실무적으로 데이터를 이용하는 입장에서 봤을 때는 '권한' 관리가 쉽기 때문이다.

 

예를 들어 내가 삼성 핸드폰 담당인데 모바일 테이블이 아니라 TV 제품쪽 매출까지 포함해

상세한 정보를 볼 수 있으면 보안상 이슈가 발생할 수 있다.

 

이렇게 프로젝트별로 나누어져 있으면, 각 프로젝트별 담당자에게만 데이터를 보거나 분석할 수 있도록 할당하기에 쉽다.

 

물론 엄청난 규모의 데이터를 수집, 적재, 처리, 가공하는 구조적인 문제나

비용적인 측면에서 이렇게 설계한 사유가 있을 것이다.

 

그래서 다시 말하지만, 데이터를 분석하는 실무자는 이렇게 이해하고 활용하고 있다는

나의 생각을 적은 것임을 꼭 밝혀두고 싶다.

 

 

다시 돌아가서 테이블 만들기를 이어서 진행해보자

 

 

 

데이터 세트에서 테이블 만들기를 누르면 또 다시 오른쪽에 팝업창이 뜬다.

강의에서는 준비된 데이터를 업로드해서 진행하므로 해당 방식을 기준으로 설명해둔다.

 

 

구글 빅쿼리에서 데이터를 업로드해서 테이블을 만드는 방법

 

소스

데이터를 '업로드'해서 테이블을 만들 것이므로

테이블을 만들 소스: 업로드 선택한다.

 

바로 밑에 파일 선택 쪽에서 찾아보기를 할 수 있는 선택지로 변경되므로

원하는 파일을 선택한다.

그러면 파일 형식은 자동으로 입력된다.

 

대상 

프로젝트, 데이터 세트는 자동으로 선택이 되는데, 원하면 여기서 바꿀 수 있다.

테이블: test 등으로 원하는 이름만 입력하면 테이블 만들기 성공이다.

 

 

테이블을 만들 소스(방법) 선택, 테이블 명만 작성하면 됩니다

 

 

4. 파티션 나누기

솔직히 말해 파티션을 왜 나누는지 아직 논리적으로 이해하지 못하고 있다.

이 부분은 SQL 스터디를 해 나가면서 찾아보기로 한다.

 

이렇게 궁금한 점을 남겨두면 내일 한번 더 공부를 하고 싶어진다.

 

'무조건 정답을 알아야 해'라며 수능 공부하는 것과는 다르다.

'이것은 왜 그럴까' 또는 '어떠한 이유로 이렇게 만들었을까'라는 호기심으로 다음 지식을 쌓는 것이다.

 

스터디는 정답을 찾는게 아니라 나의 지적 호기심을 찾아가는 과정이다

 

 

추측하기로 3번에서 파티션 나누기 항목이 있기 때문에

테이블 자체를 만들면서도 가능한 것 같다.

 

하지만 내가 듣는 인프런 강의에서는 3번과 같이 테이블을 만들고 난 이후

별도 쿼리를 통해 파티션을 나눈다.

 

이 부분도 왜 그런지 나중에 꼭 파악해 보기로 한다.

 

참고로 파티션을 나누는 쿼리는 다음과 같다.

 

CREATE TABLE logs
PARTITION BY event_date
AS
SELECT
  *
FROM test.temp

 

 

5. 구글 빅쿼리에서 데이터 세트 미리보기가 안될때 해결 방법

4번까지 모두 진행했고 파티션 나누기까지 완료했는데

데이터 테이블 미리보기가 안된다면 빌링 어카운트를 연결한 다음에 1번부터 다시 해야합니다.

 

빌링 어카운트를 연결하면 매월 자동으로 구독 결제가 되는 건가?

 

구글 빅쿼리 빌링 어카운트를 연결해도 금액이 청구되지 않습니다

 

 

그럼 이제 구글 클라우드 무료로 시작하는 방법을 알아보자.

구글 무료로 결제 계정 연동, 구글 클라우드 무료로 시작하는 방법이다.

 

앞서 빅쿼리 화면 최상단에 아마 무료로 시작하기 버튼이 있을텐데

안보인다면 아래 사이트로 간다.

 

그러면 파란색 무료로 시작하기 버튼이 반겨준다.

 

https://cloud.google.com/

 

클라우드 컴퓨팅 서비스 | Google Cloud

데이터 관리, 하이브리드 및 멀티 클라우드, AI와 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요.

cloud.google.com

 

무료로 시작하기 하면 됩니다

 

이후 절차는 매우 쉽다.

간단한 약관에 동의하고 신용카드 정보만 입력하면 결제 계정 연동이 완료된다.

 

결제 계정을 연동하는건 로봇들이 자동 가입하는 것을 방지하기 위함이며

수동으로 결제 설정을 바꾸지 않으면, 금액이 자동 청구되지 않는다고 크게 써 있다.

 

요금이 청구되지 않는다고 크게 쓰여 있다

 

무료 체험판 종료 후 자동 청구되지 않음
신용카드를 요청하는 이유는 자동 가입을 방지하기 위해서입니다. 신용카드나 체크카드를 사용하는 경우 일반 계정을 직접 활성화하지 않는 한 요금이 청구되지 않습니다.

 

가입 화면에 이렇게 크게 써 놓았는데

나중에 결제 금액이 청구되면 바로 취소 신청 들어가면 된다.

 

 

5번 오류가 생겨서 해결하다가 결국에는 구글 빅쿼리 초반 셋팅 방법을 정리했다.
다시 강의를 들으러 돌아가 보자.

'SQL 코딩 입문' 카테고리의 다른 글

SQL 중급: 6일차  (1) 2024.12.07
SQL 중급: 5일차  (1) 2024.11.30
SQL 중급: 3일차  (0) 2024.11.17
SQL 중급: 2일차  (1) 2024.11.16
SQL 중급: 다시 1일차  (3) 2024.10.26