반응형

Databricks 12

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

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

[Databricks] 데이터 스필(Spill) 완벽 가이드: 원인부터 수동 튜닝까지

데이터 스필(Data Spilling) — 발생 원인과 해결책데이터 스필은 Spark 작업(Task)이 처리해야 할 데이터 양이 할당된 메모리보다 클 때 발생합니다. 메모리가 부족해지면 Spark는 남은 데이터를 디스크로 밀어내는데, 이 과정에서 직렬화(Serialization), 디스크 I/O, 역직렬화가 동반되어 성능이 급격히 저하됩니다.스필을 막기 위한 핵심: 셔플 파티션 튜닝Spark SQL의 기본 셔플 파티션 개수는 200개입니다. 하지만 데이터 규모에 따라 이 숫자가 너무 작으면 개별 코어가 감당해야 할 데이터가 너무 커져 스필이 발생합니다. 1. AQE 자동 튜닝 (AOS)데이터브릭스의 Spark AQE에는 적절한 셔플 파티션 개수를 자동으로 찾아주는 AOS(Auto Optimize Shuf..

[Databricks] 데이터 셔플 완벽 가이드: 발생 원인부터 제어 전략까지

[Databricks] 데이터 셔플 완벽 가이드: 발생 원인과 제어 전략데이터브릭스 환경에서 쿼리 성능이 저하되는 가장 큰 원인 중 하나는 바로 데이터 셔플(Data Shuffle)입니다. 오늘은 셔플이 왜 발생하는지, 그리고 이를 최적화하기 위한 핵심 전략인 브로드캐스트 해시 조인(Broadcast Hash Join)에 대해 심층적으로 알아보겠습니다.데이터 셔플이란 무엇인가?데이터 셔플은 조인(Join), 집계(Aggregation), 윈도우 함수(Window operations)와 같은 와이드 트랜스포메이션(Wide Transformation) 시에 발생합니다. 워커 노드 간에 네트워크를 통해 데이터를 주고받는 과정이 포함되기 때문에 비용이 매우 많이 들고 속도가 느려지는 원인이 됩니다. 1. 브로..

데이터와 AI를 위한 통합 거버넌스 솔루션: Databricks Unity Catalog

오늘날 기업들은 멀티 클라우드 환경과 방대한 데이터 호수(Data Lake) 속에서 데이터 거버넌스(Data Governance)'라는 큰 장벽에 직면해 있습니다. 데이터는 쌓여가는데 누가 접근 가능한지, 이 데이터가 어디서 왔는지 파악하기 어렵다면 그 가치는 반감될 수밖에 없기 때문이죠. 이러한 복잡성을 해결하고 데이터 레이크하우스(Lakehouse) 환경을 완성하는 핵심 열쇠, 바로 Databricks Unity Catalog에 대해 알아보겠습니다. Unity Catalog란 무엇인가요?Unity Catalog는 Databricks 레이크하우스 플랫폼 내의 데이터와 AI 자산을 위한 통합 거버넌스 솔루션입니다. 과거에는 여러 작업 공간(Workspace)이나 클라우드 계정에 따라 권한을 따로 관리해야..

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

Databricks CDC와 CDF 완전 정리

데이터 환경이 복잡해지고 데이터가 폭발적으로 증가하면서, 전체 데이터를 매번 다시 처리하는 방식은 이제 효율성이 크게 떨어집니다. 이런 한계를 해결하기 위해 등장한 기술이 바로 CDC(Change Data Capture)와 CDF(Change Data Feed)입니다. Databricks는 Delta Lake 기반으로 이 두 기능을 매우 쉽게 활용할 수 있도록 지원하고 있어, 대규모 데이터 환경에서도 빠르고 효율적인 파이프라인을 구축할 수 있습니다. 이번 포스팅에서는 Databricks의 CDC와 CDF가 무엇인지, 그리고 실제 업무에서 어떻게 활용되는지 쉽게 풀어보겠습니다. 1. CDC(Change Data Capture)란?CDC는 말 그대로 데이터의 변화(Change)를 포착(Capture)하는 기..

Databricks Lakehouse Federation이란 무엇인가?

🚀 Databricks Lakehouse Federation: 외부 데이터도 한 번에 조회하기Databricks를 사용하다 보면 데이터가 여러 시스템에 흩어져 있는 경우가 많습니다. 모든 데이터를 한곳으로 옮기지 않고 분석하고 싶을 때가 있죠. 이럴 때 유용한 기능이 바로 Lakehouse Federation, 즉 Query Federation(쿼리 페더레이션) 입니다. 이 기능을 사용하면 외부 데이터베이스에 저장된 데이터까지 Databricks SQL로 한 번에 조회할 수 있습니다. 🧭 Lakehouse Federation이란?Lakehouse Federation은 Databricks의 Unity Catalog 기능 중 하나입니다. 이 기능을 통해 Databricks 내부 데이터뿐만 아니라 외부 데..

Databricks Assert Bundle이란 무엇인가?

📦 Databricks Asset Bundles란?Databricks Asset Bundles는 데이터 및 AI 프로젝트를 패키지 단위로 관리할 수 있도록 해주는 도구입니다. 즉, 소스 코드 + Databricks 리소스 정의 + 환경 설정을 하나로 묶어, 버전 관리·테스트·배포까지 체계적으로 할 수 있게 합니다. 🔑 주요 특징프로젝트 전체를 파일 기반으로 정의 (Git에서 관리 가능)Databricks 리소스(잡, 파이프라인, 대시보드, 모델 서빙, MLflow 등)를 소스 파일로 선언적 정의개발 → 테스트 → 배포 전 과정을 일관성 있게 자동화 가능협업, 코드 리뷰, CI/CD 적용에 유리📂 번들에 포함되는 것클라우드 인프라 및 워크스페이스 설정 (개발/스테이징/운영 환경 정의)소스 파일 (노트..

Databricks Photon 엔진이란?

Photon은 Databricks에 내장된 차세대 벡터화 쿼리 엔진으로, SQL과 DataFrame 워크로드를 훨씬 더 빠르고 효율적으로 실행해주는 엔진입니다. Apache Spark API와 완벽하게 호환되기 때문에 기존 코드를 수정할 필요 없이 바로 사용할 수 있습니다. 🔹 왜 중요한가?성능 향상: 쿼리, 집계, 조인 등을 기존 Spark 엔진보다 빠르게 처리비용 절감: 실행 시간이 짧아져서 전체 워크로드당 비용이 줄어듬on은 Databricks에 내장된 차세대 벡터화 쿼리 엔진으로, SQL과 DataFrame 워크로드를 훨씬 더 빠르고 효율적으로 실행해주는 엔진입니다. Apache Spark API와 완벽하게 호환되기 때문에 기존 코드를 수정할 필요 없이 바로 사용할 수 있습니다.🔹 왜 중요한가..

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

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

반응형