<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>실습 예제 on Advanced Beginner</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/</link><description>Recent content in 실습 예제 on Advanced Beginner</description><generator>Hugo</generator><language>ko-KR</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 19:08:15 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/ko/docs/spark/examples/index.xml" rel="self" type="application/rss+xml"/><item><title>환경 설정</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/setup/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/setup/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gradle 의존성&lt;/strong&gt;: &lt;code&gt;spark-core_2.13:3.5.1&lt;/code&gt;, &lt;code&gt;spark-sql_2.13:3.5.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;로깅 충돌 방지&lt;/strong&gt;: &lt;code&gt;exclude group: 'org.slf4j'&lt;/code&gt; 필수&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SparkSession&lt;/strong&gt;: &lt;code&gt;getOrCreate()&lt;/code&gt;로 싱글톤 관리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;: winutils 설정 필요&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Java/Spring Boot 프로젝트에 Spark를 도입하려는 개발자&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Java 17, Gradle 기본, Spring Boot 경험 (선택)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;로컬 환경에서 Spark 애플리케이션을 실행할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 15분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;Java/Spring Boot 프로젝트에서 Spark를 사용하기 위한 환경을 구성합니다.&lt;/p&gt;
&lt;h2 id="순수-java-프로젝트"&gt;순수 Java 프로젝트&lt;a class="anchor" href="#%ec%88%9c%ec%88%98-java-%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;가장 간단한 구성입니다.&lt;/p&gt;</description></item><item><title>기본 예제</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/basic/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/basic/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CSV, JSON, Parquet, JDBC&lt;/strong&gt; 등 다양한 데이터 소스 읽기/쓰기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DataFrame API&lt;/strong&gt;로 필터, 변환, 집계, 조인 수행&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL 쿼리&lt;/strong&gt;와 DataFrame API 혼용 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;실무 예제&lt;/strong&gt;: NYC 택시 데이터, Kaggle 데이터셋 분석&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark DataFrame API를 처음 사용하는 Java 개발자&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Java 기본 문법, SQL 기초, &lt;a href="https://advanced-beginner.github.io/ko/docs/spark/examples/setup/"&gt;환경 설정&lt;/a&gt; 완료&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;데이터 로딩, 변환, 집계, 조인, 저장을 수행할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 30분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;Spark의 핵심 기능을 활용하는 예제 코드입니다.&lt;/p&gt;</description></item><item><title>모니터링 설정</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/monitoring/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/monitoring/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spark UI&lt;/strong&gt;: 실시간 작업 상태, 실행 계획, 메모리 사용량 확인 (:4040)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;History Server&lt;/strong&gt;: 종료된 애플리케이션 로그 분석 (:18080)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prometheus + Grafana&lt;/strong&gt;: 메트릭 수집 및 시각화, 알림 설정&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;커스텀 메트릭&lt;/strong&gt;: 비즈니스 KPI (처리량, 실패율, 처리 시간) 추적&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark 애플리케이션을 운영하는 DevOps/데이터 엔지니어&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark 기본 동작, &lt;a href="https://advanced-beginner.github.io/ko/docs/spark/examples/basic/"&gt;기본 예제&lt;/a&gt; 완료, Prometheus/Grafana 경험 (선택)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark 애플리케이션의 상태를 모니터링하고 문제를 진단할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 35분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;프로덕션 환경에서 Spark 애플리케이션을 안정적으로 운영하기 위한 모니터링 설정 가이드입니다.&lt;/p&gt;</description></item><item><title>Spring Boot 통합</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/spring-boot/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/spring-boot/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SparkSession Bean&lt;/strong&gt;: &lt;code&gt;@Configuration&lt;/code&gt;으로 싱글톤 관리, &lt;code&gt;@PreDestroy&lt;/code&gt;로 정리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;프로파일 분리&lt;/strong&gt;: local, production, test 환경별 Spark 설정&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비동기 배치&lt;/strong&gt;: &lt;code&gt;@Async&lt;/code&gt; + &lt;code&gt;CompletableFuture&lt;/code&gt;로 대용량 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;REST API&lt;/strong&gt;: DataFrame 결과를 JSON 응답으로 변환&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spring Boot 애플리케이션에 Spark를 통합하려는 백엔드 개발자&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spring Boot 기초, &lt;a href="https://advanced-beginner.github.io/ko/docs/spark/examples/setup/"&gt;환경 설정&lt;/a&gt; 완료, Spark DataFrame API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spring Boot에서 Spark를 활용한 데이터 분석 API를 구현할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 40분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;Java/Spring 개발자를 위한 Spark와 Spring Boot 통합 패턴입니다.&lt;/p&gt;</description></item><item><title>Delta Lake 통합</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/delta-lake/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/delta-lake/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ACID 트랜잭션&lt;/strong&gt;: 동시 쓰기 시에도 데이터 일관성 보장&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시간 여행&lt;/strong&gt;: 과거 버전 조회/복원으로 데이터 복구 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;스키마 진화&lt;/strong&gt;: &lt;code&gt;mergeSchema&lt;/code&gt; 옵션으로 컬럼 추가 안전하게 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;최적화&lt;/strong&gt;: OPTIMIZE(파일 병합), Z-ORDER(쿼리 최적화), VACUUM(정리)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;데이터 레이크 아키텍처를 개선하려는 데이터 엔지니어&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark DataFrame API, Parquet 포맷 이해, &lt;a href="https://advanced-beginner.github.io/ko/docs/spark/examples/basic/"&gt;기본 예제&lt;/a&gt; 완료&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Delta Lake로 신뢰성 있는 데이터 레이크를 구축할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 50분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;Delta Lake를 활용하여 데이터 레이크에 ACID 트랜잭션, 스키마 관리, 시간 여행 기능을 추가합니다.&lt;/p&gt;</description></item><item><title>ETL 파이프라인</title><link>https://advanced-beginner.github.io/ko/docs/spark/examples/etl-pipeline/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/spark/examples/etl-pipeline/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;템플릿 메서드 패턴&lt;/strong&gt;: Extract → Transform → Validate → Load 표준화&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;데이터 정제 유틸리티&lt;/strong&gt;: 중복 제거, NULL 처리, 이상치 필터링&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;증분 ETL&lt;/strong&gt;: 워터마크 기반 변경 데이터만 처리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;재시도 로직&lt;/strong&gt;: 실패 시 자동 재시도 및 날짜 범위 처리&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="대상-독자-및-선수-지식"&gt;대상 독자 및 선수 지식&lt;a class="anchor" href="#%eb%8c%80%ec%83%81-%eb%8f%85%ec%9e%90-%eb%b0%8f-%ec%84%a0%ec%88%98-%ec%a7%80%ec%8b%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;구분&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Spark로 데이터 파이프라인을 구축하려는 데이터 엔지니어&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;선수 지식&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://advanced-beginner.github.io/ko/docs/spark/examples/basic/"&gt;기본 예제&lt;/a&gt; 완료, Java/Spark DataFrame API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;학습 목표&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;재사용 가능한 ETL 파이프라인을 설계하고 구현할 수 있다&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;예상 소요 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;약 45분&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;프로덕션 환경에서 사용 가능한 완전한 ETL(Extract-Transform-Load) 파이프라인 예제입니다.&lt;/p&gt;</description></item></channel></rss>