반응형

SPARK 6

[Databricks] 데이터 스큐(Data Skewness) — 원인 파악과 해결 방법 완벽 가이드

📌 데이터 스큐(Data Skewness) — 원인 파악과 해결 방법 완벽 가이드데이터 스큐(Data Skew)란 데이터 분포가 균일하지 않아 소수의 CPU 코어에 엄청난 양의 데이터 처리가 몰리는 현상을 말합니다. 예를 들어, 데이터가 한쪽으로 심하게 쏠려 있는 컬럼을 기준으로 조인(Join)이나 집계(Aggregation)를 수행하게 되면 셔플(Shuffle) 단계에서 스큐가 발생합니다. 이로 인해 작업이 완료되는 데 아주 오랜 시간이 걸리거나, 여러 번의 재시도 끝에 결국 작업이 실패해버릴 수도 있습니다. 🔍 데이터 스큐 현상 식별하기 (Identification)스큐가 발생했는지 확인하는 방법은 다음과 같습니다.태스크 지연 확인: 셔플 단계의 Spark 태스크들이 대부분 완료되었는데, 한두 개..

[Deep Dive] Spark Internals: spark-submit부터 Task 실행까지의 여정

Apache Spark를 다루는 데이터 엔지니어나 아키텍트라면 한 번쯤 "도대체 내 코드가 클러스터 내부에서 어떻게 쪼개져서 실행되는 걸까?" 라는 질문을 던져보았을 것입니다. 특히 성능 튜닝(Performance Tuning)과 트러블슈팅은 Spark의 실행 계획(Execution Plan)과 물리적 아키텍처(Physical Architecture)를 이해하는 것에서 시작됩니다. 오늘은 Spark 애플리케이션이 제출(submit)되고 결과가 나오기까지의 내부 프로세스를 해부해 보겠습니다. 1. The Big Picture: 주요 컴포넌트 (The Actors)프로세스를 이해하기 전에 무대 위의 배우들을 먼저 알아야 합니다.Driver (The Brain):main() 함수를 실행하는 프로세스입니다.Sp..

빅데이터/Spark 2026.01.08

Spark Structured Streaming: Stream-Static Join 완벽 정리 (허용되는 조인 vs 허용되지 않는 조인)

Spark Structured Streaming을 활용하여 실시간 데이터 파이프라인을 만들다 보면 종종 스트리밍 데이터(streaming DataFrame) 와 정적 테이블(static DataFrame) 을 결합해야 하는 상황이 발생합니다.예를 들어:실시간 이벤트(streamingDF)에 사용자 정보(static user lookup)를 매칭IoT 센서 이벤트에 센서 메타데이터 조인로그 데이터에 저장된 reference table을 매핑이처럼 stream-static join은 실제 데이터 엔지니어링에서 굉장히 흔합니다. 하지만 Structured Streaming에서는 모든 조인이 허용되는 것이 아닙니다. 일부 조인은 기술적으로 불가능하거나, Spark 엔진의 일관성을 위해 금지되어 있습니다.이번 글..

빅데이터/Spark 2025.11.18

Ganglia Metrics란 무엇일까? 분산 시스템 모니터링의 핵심

Ganglia Metrics란 무엇일까? 분산 시스템 모니터링의 핵심대규모 서버 환경이나 클러스터를 운영하다 보면, 각 노드에서 발생하는 CPU 사용량, 메모리 소비, 디스크 IO, 네트워크 트래픽 등을 한눈에 파악하는 것이 매우 중요합니다. 특히 Hadoop, Spark, HBase 같은 분산 시스템에서는 노드 수가 많아질수록 문제 파악이 어려워지기 때문에, 체계적인 모니터링 도구가 필수적입니다. Ganglia Metrics(갱글리아 메트릭스)는 이러한 문제를 해결하기 위해 만들어진 대표적인 분산 모니터링 시스템입니다. Ganglia란 무엇인가?Ganglia는 대규모 분산 시스템 환경을 위해 설계된 오픈소스 모니터링 시스템입니다. 원래는 UC Berkeley에서 고성능 컴퓨팅 환경(HPC)과 클러스터 ..

빅데이터 2025.11.18

Spark Structured Streaming에서 체크포인트가 중요한 이유와 Auto Loader에서 필수인 이유

Databricks나 Spark 기반 데이터 파이프라인을 구축하다 보면 가장 많이 듣는 개념 중 하나가 바로 checkpoint(체크포인트) 입니다. 특히 Structured Streaming이나 Auto Loader를 사용할 때는 “체크포인트가 꼭 필요하나요?”라는 질문을 많이 받습니다.결론부터 말하자면:✔ 대부분의 스트리밍 파이프라인에서는 체크포인트가 필수✔ Auto Loader는 체크포인트 없이는 사실상 운영 불가 이번 글에서는 체크포인트가 정확히 어떤 역할을 하는지, 어떤 경우에 꼭 필요하고 어떤 경우에는 생략할 수 있는지를 쉬운 언어로 정리해보겠습니다. ✔ Structured Streaming에서 체크포인트의 역할 3가지Structured Streaming이 안정적으로 동작하기 위해서는 다음 ..

빅데이터/Spark 2025.11.16

Databricks Liquid Clustering: 성능 최적화와 운영 가이드

Lakehouse 환경에서 테이블을 어떻게 최적화하느냐는 쿼리 성능과 운영 효율성에 직결되는 중요한 요소입니다. 지금까지는 파티셔닝(Partitioning)이나 ZORDER 인덱싱을 통해 데이터 레이아웃을 최적화하는 방식이 주로 사용되었습니다. 하지만 이 방식들은 파티션 키 설계 부담이 크거나, 데이터가 갱신될 때마다 다시 정렬 작업을 해야 하는 등의 한계가 있었습니다. Databricks가 새롭게 선보인 Liquid Clustering은 이러한 문제를 해결하기 위해 등장한 차세대 데이터 최적화 기능입니다. Liquid Clustering은 기존 데이터를 다시 쓰지 않고도 클러스터링 키를 유연하게 변경할 수 있으며, Streaming Table과 Materialized View까지 지원하여 운영의 복잡성..

반응형