WildCard Table

하나의 FROM 구문으로 다수 테이블을 한 번에 읽을 수 있다.

테이블의 이름과 표현식이 일치하는 경우, 모든 테이블을 조회한다. 

SELECT *
FROM 
	'dataset.orders_*'
WHERE 
	_TABLE_SUFFIX BETWEEN '1' and '4'

 

 

샤딩 테이블 

테이블 이름이 yyyymmdd 형식의 suffix를 가지는 경우를 말한다.

  • yyyymmdd 형식의 일자가 파티션 구역이 된다. 
  • 즉, 일 단위 파티션 구역으로 사용한다. 

하나의 테이블처럼 표시된다.  

테이블 이름의 '문자열' 로 검색해야 한다. 
create table temp.add_to_cart as (
  select 
    date(timestamp_micros(event_timestamp)) date, 
    item_id,
    item_name,
    count(distinct user_pseudo_id) user_count
  from 
    `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`,
    unnest(items)
  where 
    event_name = 'add_to_cart'
    AND _TABLE_SUFFIX BETWEEN '20210111' AND '20210115' --wildcard와 match되는 문자열을 넣어줘야 한다
  group by 1, 2, 3
)

 

 

파티션 테이블 

지정한 컬럼의 범위에 따라 데이터를 나눠 저장한 테이블이다. 

파티션 구역 개수에 제한이 있다(4,000개)

관리자가 파티션 지정 조회를 강제 할 수 있다.  (조회 용량을 줄이고, 퍼포먼스를 개선하기 위해) 

컬럼 데이터 타입에 제한이 있다(정수, 날짜, 수집시간) 

integer, date, datetime, timestamp 형식의 컬럼을 사용한다. 

 

 

 

Cluster

테이블에 저장 될 때 지정한 컬럼들로 블록을 만들어 정렬해 저장한다. 

각 블럭의 크기가 일정하지 않을 경우 사용한다. 

예상 조회 비용이랑 Cluster 실제 과금 비용이 다를 수 있다. (실제 클러스터 블럭 사이즈를 감안하지 못하기 때문) 

최소 블록 사이즈가 존재한다. 비용 산정 시 최소 크기 이상의 조회 비용으로 계산한다. 

지정한 클러스터 컬럼의 순서가 where 절에 들어가야 한다. (조회 용량을 줄이고, 퍼포먼스를 개선하기 위해) 
SELECT *
FROM 
  `bigquery-public-data.deps_dev_v1.Advisories` 
WHERE 
  Source = 'GHSA'
  and SourceId = 'GHSA-5684-g483-2249'

'gcp' 카테고리의 다른 글

BigQuery 데이터 사이언스  (0) 2022.12.08
BigQuery 추가 기능  (0) 2022.12.07
BigQuery 스크립팅  (0) 2022.12.07
BigQuery 집계 함수  (0) 2022.12.06
BigQuery 데이터 유형 - Struct, Array  (0) 2022.12.06

+ Recent posts