고급 데이터 분석 패턴

Databricks SQL 입문

Kevin Barlow

Data Manager

동기

레이크하우스 다이어그램 - 분석

Databricks SQL 입문

서브쿼리

  • SQL 쿼리 "중첩"으로 달성
    • 중첩 쿼리는 새 "테이블"로 간주
    • 뷰 생성과 유사한 효과
  • 다양한 사용 사례에 적합
    • 다른 쿼리의 결과 참조
    • 복잡한 쿼리 단순화
    • 쿼리 내 집계 수행
SELECT store, totalRev, product
FROM (
    SELECT count(*) as count,
          sum(revenue) as totalRev,
          min(price) as minPrice,
          max(units) as maxUnits,
          region,
          store,
          product
      FROM sales 
      GROUP BY region, store, product
) q
Databricks SQL 입문

윈도 함수

  • SQL 함수와 기법의 한 범주
  • 관련된 행 범위에 대해 계산 수행
    • 행들은 서로 관련이 있음
  • 예:
    • 기간 기반 지표 계산
    • 연속 행 간 변화 계산
    • 여러 차원에 걸친 계산
SELECT name,
       dept,
       RANK() OVER 
           (PARTITION BY dept 
         ORDER BY salary) AS rank
  FROM employees;
name dept salary rank
Lisa Sales 10000 1
Alex Sales 30000 2
Fred Engineering 21000 1
Tom Engineering 23000 2
Databricks SQL 입문

고급 Databricks SQL 함수

RANK()

  • 주어진 파티션 내 행들을 비교해 각 행의 순위를 계산
SELECT a,
       b,
       RANK() OVER(PARTITION BY a ORDER BY b DESC),
    FROM table_name;
a b rank
A1 3 1
A1 1 3
A1 2 2
A2 1 1

LAG() 및 LEAD()

  • 이전값(LAG()) 또는 다음값(LEAD())을 행에서 반환
SELECT a,
       b,
       LAG(b) OVER (PARTITION BY a ORDER BY b)
    FROM table_name;
a b lag
A1 3 NULL
A1 1 3
A1 2 1
A2 1 NULL
Databricks SQL 입문

연습해 봅시다!

Databricks SQL 입문

Preparing Video For Download...