Databricks SQL 시작하기

Databricks 개념

Kevin Barlow

Data Practitioner

SQL 컴퓨트 vs 일반 컴퓨트

데이터 과학/엔지니어링 작업용 컴퓨트 클러스터 설계는...

import pyspark.sql.functions as F

spark_df = (spark
            .read
            .table('user_table'))

spark_df = (spark_df
            .withColumn('score', 
                        F.flatten(...))
           )

SQL 워크로드용 컴퓨트 설계와 본질적으로 다릅니다

SELECT *
FROM user_table u
LEFT JOIN product_use p
    ON u.userId = p.userId
WHERE country = 'USA'
AND utilization >= 0.6
Databricks 개념

SQL Warehouse

SQL Warehouse UI

Databricks 개념

SQL Warehouse

SQL Warehouse 구성 옵션

  1. 클러스터 이름
  2. 클러스터 크기(S, M, L 등)
  3. 스케일링 동작

SQL Warehouse UI - Cluster Size

Databricks 개념

SQL Warehouse

SQL Warehouse 구성 옵션

  1. 클러스터 이름
  2. 클러스터 크기(S, M, L 등)
  3. 스케일링 동작
  4. 클러스터 유형

SQL Warehouse UI - Cluster Type

Databricks 개념

SQL Warehouse 유형

유형별 장점이 다릅니다

Classic

  • 가장 기본적인 SQL 컴퓨트
  • 고객 클라우드에서 실행

Pro

  • Classic보다 고급 기능 제공
  • 고객 클라우드에서 실행

Serverless

  • 최신 기능 제공
  • Databricks 클라우드에서 실행
  • 비용 효율 최고
Databricks 개념

SQL 편집기

SQL 편집기

Databricks 개념

자주 쓰는 SQL 명령어

COPY INTO

  • 원시 데이터를 Delta로 적재
  • ETL의 Extract 단계
COPY INTO my_table
FROM '/path/to/files'
FILEFORMAT = <format>
FORMAT_OPTIONS ('mergeSchema' = 'true')
COPY_OPTIONS ('mergeSchema' = 'true');

CREATE <entity> AS

  • 테이블 또는 뷰 생성
  • ETL의 Transform 단계
CREATE TABLE events
  USING DELTA
  AS (
      SELECT *
    FROM raw_events
    WHERE ...
  )
Databricks 개념

연습해 봅시다!

Databricks 개념

Preparing Video For Download...