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 |