-
[BigQuery] Table 생성데이터 분석/SQL 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'이다.
프로젝트명, 노드명, 데이터셋명 확인 위치
노란색은 프로젝트명, 분홍색은 노드명, 보라색은 데이터셋명이다.
'데이터 분석 > SQL' 카테고리의 다른 글
[BigQuery] 사용자의 서비스 사용 속성별로 집계 (0) 2022.05.13 [BigQuery] ROLLUP 없이 ROLLUP 구현하기 (0) 2022.05.11 [BigQuery] CROSS JOIN을 이용한 Table 열 압축, 정리 (0) 2022.05.05 [PostgreSQL] timestamp 다루기 (0) 2022.04.10 [PostgreSQL] CASE문 (0) 2022.04.09