빅쿼리 와일드카드(*) 사용

2023. 7. 11. 17:34·프로그래밍

빅쿼리의 이벤트 로그 테이블은 아래와 같이 테이블 이름뒤에 년월일이 붙어서 매일 새로 생긴다. 

table-name.event_20230710
table-name.event_20230711

원하는 일자의 모든 테이블을 검색하고 싶다면 와일드카드와 테이블 서픽스를 사용해서 검색해야 한다. 년월일 부분에 와일드카드를 붙이고 where 절에 _table_suffix 원하는 날짜를 적으면 해당 날짜의 모든 테이블을 검색 할 수 있다. 

FROM `table-name.events_*` 
where _table_suffix between '20230101' and '20230331'

아래 코드는 2023 1월부터 3월까지의 방문한 유저의 수 요청이 와서 와일드 카드를 적용해 짰던 쿼리이다. 

SELECT event_date, COUNT(DISTINCT user_id) 

FROM `table-name.events_*` 
where _table_suffix between '20230101' and '20230331'
GROUP BY
  event_date
ORDER BY
  event_date

조금 더 응용하면 월별 방문한 평균 유저의 수도 셀 수 있다. 
PARSED_DATE 함수를 이용해 원하는 포맷으로 날짜를 파싱하고, EXTRACT를 사용해 월과 평균 유저수를 뽑아낸다. 

SELECT EXTRACT(YEAR FROM parsed_date) * 100 + EXTRACT(MONTH FROM parsed_date) AS year_month,
       AVG(user_count) AS average_user_count
FROM (
  SELECT PARSE_DATE('%Y%m%d', _table_suffix) AS parsed_date,
         COUNT(DISTINCT user_id) AS user_count
  FROM `table-name.events_*`
  WHERE _table_suffix BETWEEN '20221001' AND '20230331'
  GROUP BY parsed_date
)
GROUP BY year_month
ORDER BY year_month

 

저작자표시 (새창열림)

'프로그래밍' 카테고리의 다른 글

파이썬 가비지 컬렉터  (4) 2024.10.17
print vs logging  (0) 2023.12.01
copy-on-write & defensive copy(함수형 프로그래밍)  (2) 2023.01.23
[Python] map, filter, reduce 함수  (1) 2023.01.23
MYSQL & PostgreSQL JSON 데이터  (0) 2023.01.22
'프로그래밍' 카테고리의 다른 글
  • 파이썬 가비지 컬렉터
  • print vs logging
  • copy-on-write & defensive copy(함수형 프로그래밍)
  • [Python] map, filter, reduce 함수
haong_
haong_
블로그 이전합니다 >> www.hajinnote.me
  • haong_
    일단 시작하는 블로그
    haong_
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 데이터 엔지니어링
      • 이슈 해결 일지
      • 개발 환경 및 운영
        • Kubernetes
      • CS
        • 운영체제
        • 데이터베이스시스템
      • 프로그래밍
      • 알고리즘
      • 머신러닝
        • 통계학
        • 딥러닝
        • 데이터 분석
        • 논문
        • 프로젝트
      • 회고
      • 책 & 스터디
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이
    data mesh
    데이터메시
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
haong_
빅쿼리 와일드카드(*) 사용
상단으로

티스토리툴바