모든 글
약 11분 분량 자격증 공부

[Spark Ch-00] Databricks Spark 자격증 시험 구조와 공부 계획: API 문서 없이 기본값까지 외워야 하는 시험

목차

결론부터

  1. 시험은 채점 문항 45개, 90분, 200 USD이고 영어로만 칩니다. 합격 점수는 공개하지 않습니다. 인터넷에 도는 “70%“와 “60문항, 120분”은 2025년 4월에 폐지된 예전 시험 기준입니다.
  2. 새 시험은 API 문서를 제공하지 않습니다. 예전 시험은 검색이 안 되는 문서라도 볼 수 있었습니다. 그래서 함수 시그니처와 기본값(저장 모드, 캐시 저장 레벨, union이 컬럼을 맞추는 방식 등)을 외워야 합니다.
  3. 비중은 DataFrame API 30%, 아키텍처 20%, Spark SQL 20%, 튜닝 10%, Structured Streaming 10%, Spark Connect 5%, pandas API on Spark 5%입니다. Streaming, Connect, pandas API는 예전 책과 강의에 없거나 범위 밖으로 되어 있습니다.
  4. Databricks Free Edition은 서버리스 컴퓨트만 줍니다. Spark UI, cache(), RDD API를 쓸 수 없어서 출제 항목 일부는 거기서 실습할 수 없습니다. 로컬에 PySpark를 깔아 같이 씁니다. Community Edition은 2026년 1월 1일에 종료됐습니다.
  5. 공부 순서는 시험 안내서의 항목을 하나씩 공식 문서로 확인하고 로컬에서 코드로 재현해 이 시리즈에 정리하는 것입니다. 새 시험 후기가 아직 적어서 강의 하나에 기대기 어렵습니다.

1. 시험 구조

Databricks 자격증 페이지, 자격증 FAQ, 2026년 10월 8일판 시험 안내서로 확인했습니다(2026년 10월 21일 기준). 출제 영역과 비중은 2025년 10월판과 같습니다.

항목내용
문항채점 문항 45개. 채점하지 않는 문항이 최대 10개 더 나올 수 있어 화면에는 최대 55문항이 보이고 그만큼 시간이 이미 포함되어 있다
시간90분
언어영어. 코드는 Python
가격200 USD와 현지 법에 따른 세금. 재응시도 같은 가격이고 무료 재응시는 없다
합격 점수공개하지 않는다. FAQ는 통계적으로 정하고 바뀔 수 있어서 공개하지 않는다고 적는다
재응시마지막 응시 후 14일 이상 지나야 한다. 횟수 제한은 없다
응시Webassessor로 등록하고 Kryterion이 감독한다. 온라인 또는 시험장
보조 자료API 문서를 포함해 제공하지 않는다
권장 경험Spark 실무 6개월 이상
결과비공식 결과는 제출 직후 나온다. 합격하면 Databricks가 감독 녹화를 검토한 뒤 배지를 올린다

시험장 응시를 다시 예약하려면 72시간 전까지 해야 합니다. 응시 후기(Sarah Chua, 2025)에 따르면 제출 직후 주제별 정답률과 합격 여부가 화면에 나왔고 45문항 외에 채점하지 않는 문항 10개가 더 나왔습니다. 2026년 10월판 안내서가 적은 상한(최대 10개)과 같은 수입니다.

1-1. 2025년에 무엇이 바뀌었나

예전 시험(Spark 3.0)지금 시험
상태2025년 4월 30일이 마지막 응시일, 이후 폐지2025년 4월 30일 공개
문항과 시간60문항, 120분45문항, 90분
합격선70%로 공개공개하지 않음
시험 중 문서제공(검색 불가)제공하지 않음
범위아키텍처와 DataFrame API 중심Streaming, Spark Connect, pandas API on Spark 추가

두 날짜는 Databricks 커뮤니티의 커뮤니티 매니저와 직원 답변(2025년 5월)에서 가져왔습니다. 공식 폐지 공지 문서는 찾지 못했습니다.

시험이 기준으로 하는 Spark 버전(3.5인지 4.x인지)은 공식 페이지와 안내서(2026년 10월판 포함) 어디에도 없습니다. 안내서는 “Apache Spark”라고만 씁니다. 버전을 적은 곳은 상업 강의 페이지뿐이었습니다. 이 글의 동작 설명은 열람 시점의 Spark 공식 문서(4.2.0) 기준이고 버전 사이에 바뀐 동작은 따로 표시했습니다.

2. 영역과 출제 항목

비중은 자격증 페이지와 안내서에 있고 항목은 2026년 10월 8일판 안내서를 요약했습니다. 목표 문장은 2025년 10월판과 같습니다.

영역비중항목
1. 아키텍처와 구성 요소20%Spark 도입의 장점과 과제 / 드라이버, 익스큐터, 코어, 메모리의 역할 / DataFrame과 Dataset 개념, SparkSession 수명 주기 / 실행 계층(Job, Stage, Task) / 셔플과 파티션 / 트랜스포메이션, 액션, 지연 평가 / 캐시와 저장 레벨, GC / 모듈(Core, SQL, pandas API, Streaming, MLlib)
2. Spark SQL20%JDBC와 파일 읽기·쓰기, overwrite와 컬럼 기준 파티셔닝 / 파일에 직접 SQL 실행(ORC, JSON, CSV, Text, Delta) / 저장 모드 / 정렬·파티셔닝을 적용한 영구 테이블 / 임시 뷰
3. DataFrame/Dataset API30%컬럼 추가·삭제·분리·이름 변경, 필터, 배열 explode / 중복 제거와 검증 / count, approx_count_distinct, mean, summary / 날짜(epoch를 문자열로, 날짜 요소 추출) / 조인(inner, left, broadcast, 다중 키, cross), union / 스키마를 지정한 읽기·쓰기 / 정렬, 반복, printSchema, 리스트 변환 / UDF(상태 연산자와 StateStore를 쓰는 경우 포함) / broadcast 변수와 accumulator / broadcast 조인의 목적과 구현
4. 문제 해결과 튜닝10%repartition, coalesce, 데이터 쏠림, 셔플 줄이기 / AQE / 드라이버·익스큐터 로그를 남기고 설정하고 분석해 메모리 부족과 저사용 진단
5. Structured Streaming10%마이크로배치, exactly-once, 장애 복구 / 출력 모드와 싱크 / 선택, 윈도, 집계 / 워터마크가 있을 때와 없을 때의 중복 제거
6. Spark Connect5%Spark Connect의 특징 / 배포 모드(Client, Cluster, Local)
7. pandas API on Spark5%장점 / pandas UDF 만들기와 호출

안내서에는 샘플 문항 10개와 정답이 실려 있고 2026년 10월판부터는 정답마다 해설이 붙습니다. 다루는 것은 partitionBy와 overwrite, Spark UI에서 익스큐터 로그 찾기, withColumn과 withColumnRenamed, spark.sql.shuffle.partitions의 기본값 200, na.drop(), Local 모드, approx_count_distinct(HyperLogLog) 등입니다. 대부분 동작이나 기본값을 정확히 아는지 묻습니다.

3. 헷갈리기 쉬운 동작(공식 문서 기준)

시험에서 문서를 볼 수 없으니 기본값과 예외를 표로 모았습니다. 출처는 모두 Spark 4.2.0 공식 문서이고 이 시리즈에서 하나씩 코드로 재현할 목록입니다.

주제공식 문서의 내용헷갈리는 지점
지연 평가트랜스포메이션은 결과가 드라이버로 돌아가야 할 때(액션) 계산한다count(), collect(), save 같은 액션이 Job을 만든다
실행 계층Job은 액션마다, Stage는 Job을 나눈 Task 묶음, Task는 익스큐터 하나로 가는 작업 단위Stage 경계는 셔플이다
coalesce좁은 의존성(narrow dependency)이라 1000개를 100개로 줄일 때 셔플이 없다. 파티션을 늘리려 하면 현재 수를 유지한다1개처럼 급격히 줄이면 repartition()을 쓰라고 권한다
repartition해시 파티셔닝, 데이터 전체를 셔플한다늘리고 줄이기 모두 된다
DataFrame cache()기본 저장 레벨은 MEMORY_AND_DISK_DESER(3.0에서 Scala와 맞춤)RDD의 cache() 기본값은 MEMORY_ONLY라 서로 다르다
broadcast 조인spark.sql.autoBroadcastJoinThreshold 기본 10MB, -1이면 끈다. broadcast(df)로 지정할 수 있다힌트는 BROADCAST, MERGE, SHUFFLE_HASH, SHUFFLE_REPLICATE_NL
accumulator결합·교환 법칙이 성립하는 연산으로 더하기만 한다broadcast 변수는 읽기 전용
AQE3.2.0부터 기본으로 켜져 있다쏠림 판정은 파티션이 중앙값의 5배를 넘고 동시에 256MB를 넘을 때
union컬럼을 위치로 맞추고(이름은 보지 않는다) 중복을 없애지 않는다이름으로 맞추려면 unionByName
저장 모드기본은 errorifexists. 그 밖에 append, overwrite, ignorebucketBy와 sortBy는 saveAsTable()과 함께 쓴다
임시 뷰temp view는 SparkSession, global temp view는 애플리케이션 수명global은 global_temp 데이터베이스로 조회
explodeSELECT 하나에 explode 하나만null이나 빈 배열을 남기려면 explode_outer
approx_count_distinct기본 상대 오차 0.050.01보다 작게 잡을 거면 count_distinct()가 낫다고 문서가 적는다
from_unixtimeepoch 초를 현재 시스템 시간대 기준 문자열로기본 형식 yyyy-MM-dd HH:mm:ss
udf반환 타입 기본값은 StringType, 기본으로 결정적 함수로 본다4.2.0부터 Arrow를 기본으로 쓴다(3.5에서 4.1까지는 false). 4.1.0부터 pandas 타입 힌트를 달면 pandas UDF로 처리한다
Streaming 출력 모드Append(기본), Complete(집계), Update집계 없는 쿼리에 Complete는 쓸 수 없다
Streaming 보장체크포인트와 WAL로 종단 간 exactly-once. 파일 싱크는 exactly-once, Kafka 싱크와 foreachBatch는 기본 at-least-onceContinuous 처리는 at-least-once
Streaming 중복 제거워터마크가 없으면 과거 전체를 상태로 보관한다dropDuplicatesWithinWatermark(3.5.0~)는 워터마크가 필수
Spark Connect3.4에서 도입. 클라이언트가 논리 계획을 gRPC로 보내고 결과를 Arrow로 받는다SparkContext와 RDD API를 쓸 수 없다
pandas API on Sparkto_pandas()는 모든 데이터를 클라이언트로 모은다Spark DataFrame에서 바꾸면 기본 인덱스가 새로 생긴다

Structured Streaming의 워터마크와 상태는 DE 시리즈의 Flink 글과 같은 개념을 다룹니다(DE Ch-15). 셔플과 파티션은 Kafka 파티셔닝 글(DE Ch-11)과 같은 질문(어떤 키로 데이터를 나누는가)에서 시작합니다.

4. 실습 환경의 제약

환경되는 것안 되는 것
Databricks Free Edition무료, 서버리스 컴퓨트, 노트북, 소형 SQL 웨어하우스 1개Spark UI, DataFrame·SQL 캐시 API(cache()가 예외를 낸다), RDD API, 클러스터 설정, Scala와 R. 하루 쿼터를 넘으면 그날 컴퓨트가 꺼진다
Databricks Academy Labs강의용 실습유료 구독이나 강사 과정 등록자만
로컬 PySparkSpark UI(기본 4040 포트), 캐시와 저장 레벨, RDD, accumulator, 로컬 Spark Connect 서버Delta와 Databricks 전용 기능은 따로 설정해야 한다

Free Edition의 서버리스 컴퓨트 자체가 Spark Connect로 동작하니, Connect 영역은 오히려 Free Edition에서 확인하기 좋습니다. 반대로 영역 1과 4의 캐시, Spark UI, 로그는 로컬에서 봐야 합니다.

로컬 설치는 PySpark 문서 기준으로 Python 3.10 이상과 Java 17 이상(JAVA_HOME 설정)이 필요합니다.

Terminal window
pip install "pyspark[sql,pandas_on_spark,connect]"
# 로컬 Spark Connect 서버(기본 포트 15002)는 내려받은 Spark 배포판(spark-4.2.0-bin-hadoop3.tgz) 폴더에서 띄운다
./sbin/start-connect-server.sh
./bin/pyspark --remote "sc://localhost"

공식 문서를 읽고 적은 명령이고 실행해 보지 않았습니다. pip로 받은 PySpark의 sbin에는 History Server 스크립트만 들어 있고 start-connect-server.sh는 없어서(4.2.0 setup.py의 package_data) Connect 서버는 배포판으로 띄웁니다. Java 없이 Docker로 띄우는 방법은 Ch-07 4절에 정리했습니다.

5. 후기에서 확인한 것

새 시험 후기는 아직 적습니다. 국내와 중국 블로그, DEV에서는 새 시험 후기를 찾지 못했습니다. Medium 글 하나와 Databricks 커뮤니티 글을 찾았습니다.

글시험내용
Sarah Chua, Medium(2025-09)새 시험당시 새 시험용 영상 강의가 없어서 안내서의 항목마다 문서를 찾아 읽었다. 메모리, 쏠림, 파티션을 다룬 영상을 봤고 시험 직전 주말에 Udemy 모의고사 5회를 풀었는데 실제와 관련이 많았지만 일부 답과 해설은 미심쩍었다. 지금은 Python 전용
Databricks 커뮤니티 “Seeking Guidance for Spark Certification”(2025-07~08)새 시험한 응시자는 생각보다 어렵고 범위가 넓다고 했다. 다른 사람은 시나리오형 문항이 늘었다고 적었다. Free Edition에서는 Spark UI를 볼 수 없다는 답이 달렸다
NewNewDaddy, velog(2023-09)예전 시험, 합격60문항, 120분. 시험 중 문서는 있었지만 검색이 안 됐다. 실제 코드 문제가 약 70%

예전 시험 자료를 쓸 때 조심할 점이 있습니다. Packt 책(중국어 번역본도 있음)은 Structured Streaming을 시험 범위 밖으로 둡니다. Learning Spark 2판(2020)은 Spark 3.0을 다루고 Spark Connect(3.4 도입)보다 먼저 나왔습니다. 위 velog의 개념 정리 글은 union이 컬럼 이름이 달라도 이어 붙는다고 설명합니다. 공식 문서 기준으로는 union은 위치로 맞춥니다. 예전 자료는 범위와 동작을 지금 문서로 다시 확인해야 합니다.

예전 시험 후기 중에는 유출 문항을 썼다고 밝힌 것이 있어 그 부분은 참고하지 않았습니다.

6. 내 공부 계획

단계할 일끝났다고 보는 기준
1. 기준 잡기최신 안내서(2026년 10월 8일판)의 항목(2절)을 체크리스트로 옮기고 샘플 문항 10개를 푼다틀린 문항마다 해당 항목을 적는다
2. 환경로컬 PySpark와 Free Edition을 준비한다로컬에서 Spark UI가 뜨고 Free Edition에서 노트북이 돈다
3. 아키텍처와 DataFrame API(50%)3절 표의 동작을 하나씩 코드로 재현하고 Spark UI에서 Job, Stage, 셔플을 확인한다. 쇼핑몰 주문과 회원 데이터 같은 작은 예제로 조인, 집계, 날짜 처리를 연습한다기본값과 시그니처를 문서 없이 쓴다
4. Spark SQL(20%)파일에 직접 SQL, 저장 모드, partitionBy와 bucketBy, 임시 뷰를 재현한다각 저장 모드가 기존 데이터에 무엇을 하는지 설명한다
5. 튜닝, Streaming, Connect, pandas API(30%)쏠린 데이터로 AQE 전후 계획을 비교하고 파일 소스 스트리밍으로 출력 모드와 워터마크 중복 제거를 확인한다. 로컬 Connect 서버로 RDD가 막히는 것을 본다각 영역에서 안 되는 것을 이유와 함께 말한다
6. 모의고사공식 Academy 과정을 마치고 안내서 샘플 문항과 새 범위가 반영된 모의고사로 시간을 재고 푼다. Databricks는 공식 모의고사를 제공하지 않는다90분 안에 다 풀고 꾸준히 여유 있게 넘는다

합격선이 공개되지 않아 모의고사 목표치를 정할 근거가 약합니다. 커뮤니티에서는 80% 정도를 목표로 하라는 개인 의견이 있었습니다.

6단계를 시험 30일 전부터 어떻게 나눌지, 연습 자료가 새 시험을 반영했는지, Java 없이 Docker와 Colab으로 실습하는 방법, 시험 전날 외울 기본값과 당일 시간 배분은 Ch-07에 정리했습니다.

7. 범위와 한계

  • 시험 정보는 2026년 10월 21일 Databricks 자격증 페이지, FAQ, 2026년 10월 8일판 안내서로 다시 확인했습니다. 2025년 10월판과 달라진 점은 Ch-07 1-1절에 적었습니다. 안내서는 시험 2주 전에 다시 확인하라고 적으니 응시 전에 자격증 페이지에서 판을 확인합니다.
  • 3절의 동작은 Spark 4.2.0 문서 기준입니다. 시험의 기준 버전이 공개되지 않아 버전에 따라 다를 수 있습니다.
  • 4절의 명령과 6절의 재현은 실행하지 않았습니다.
  • 새 시험 후기는 두 건만 확인했습니다.

참고 자료

공식 자료

후기와 커뮤니티

프로필 사진
작성자 @범수

오늘의 노력이 내일의 전문성을 만든다고 믿습니다.

댓글

댓글 수정/삭제는 GitHub Discussions에서 가능합니다.