빅쿼리 2

파티션 테이블로 Big Query 쿼리 비용 대폭 절감하는 법 (Partitioned table)

Big Query에서 쿼리를 날릴때 처리되는 용량을 가지고 요금이 매겨지는데, 그래서 "실행시 이 쿼리가 xxbyte 를 처리합니다" 라는 곳을 유심히 지켜봐야한다. Big Query에서는 테이블을 날짜별, 시간별, 또는 정수 기준으로 나눈 파티션을 나눈 테이블을 지원하는데, 이를 이용하면 처리되는 데이터의 양을 대폭 줄일 수 있다. 파티션 테이블을 사용하지 않았을때 다음은 으로 집어서 쿼리를 날렸을때 처리되는 데이터 양이다. SELECT event_timestamp, user_pseudo_id, param, user_id FROM `table-1605078626536.analytics_252952500.*`, UNNEST(event_params) as param WHERE event_name = 'fu..

프로그래밍/SQL 2021.05.28

[Big Query] 빅 쿼리 UNNEST 사용법 / 개념

데이터 구조 이해하기 우리가, 아니 적어도 내가 일반적으로 봐 왔던 데이터들은 이렇게 Key-Value 쌍으로 이루어진 Record의 연속이었다. 그런데 이번에 회사에서 일하면서 Big Query를 만지게 되었는데 데이터 구조가 생판 처음보는 식으로 되어있었다! 그림으로 표현하자면...이렇게? 필드 하나가 배열이 될수도 있고, 구조체가 되거나 구조체의 배열까지 될수 있는 복잡한 구조다. 예제로 알아보기 그래서 '일반적인' SQL문으로 내가 원하는 데이터를 뽑아내기는 어렵고, 특별한 문법요소 하나를 더 써야하는데 그것이 바로 UNNEST이다. 손을 더럽히면서 배워보자. bigquery.cloud.google.com/dataset/firebase-analytics-sample-data:android_data..

프로그래밍/SQL 2021.03.18