데이터 분석/SQL

[BigQuery] Table 생성

BTC_기범 2022. 5. 7. 17:54
더보기

출처 : 데이터 분석을 위한 SQL 레시피

bigquery table 생성에 대해 살펴보겠다.

미리 말하자면 주의 사항은 data set이라는 구조이다.

 

Table 생성

DROP TABLE IF EXISTS mst_users; # table 존재 여부 확인 및 삭제
CREATE TABLE mst_users( # table 생성
    user_id         string(255) # BigQuery는 varchar라는 데이터형은 없고 string 데이터형 사용
  , register_date   string(255)
  , register_device integer
);

INSERT INTO mst_users # table에 데이터 삽입
VALUES # table에 넣을 데이터 입력
    ('U001', '2016-08-26', 1)
  , ('U002', '2016-08-26', 2)
  , ('U003', '2016-08-27', 3)
;

 

오류

위의 쿼리는 보통 SQL 미들웨어에서 작성 시 작동될 것이다. 하지만 BigQuery에서는 다음과 같은 오류가 발생한다.

위와 같은 오류가 발생하는 이유는 BigQuery는 프로젝트 > 노드 > 데이터셋 > 테이블 순의 구조를 가지기 때문이다. 이러한 이유로 테이블을 생성하기 위해서는 데이터셋을 앞에 표시해주어야 한다.

 

수정 쿼리

DROP TABLE IF EXISTS ch3.mst_users;
CREATE TABLE ch3.mst_users(
    user_id         string(255)
  , register_date   string(255)
  , register_device integer
);

INSERT INTO ch3.mst_users
VALUES
    ('U001', '2016-08-26', 1)
  , ('U002', '2016-08-26', 2)
  , ('U003', '2016-08-27', 3)
;

나의 경우 Table을 생성할 데이터셋의 이름이 'ch3'이다.

 

프로젝트명, 노드명, 데이터셋명 확인 위치

노란색은 프로젝트명, 분홍색은 노드명, 보라색은 데이터셋명이다.