반응형

BigDataOptimization 2

[Apache Iceberg] 4. [핵심] 숨겨진 파티셔닝(Hidden Partitioning): 쿼리 작성의 실수를 없애다

안녕하세요! 여러분의 데이터 아키텍처 가이드, 팬돌프입니다.지난 시간, 우리는 Iceberg가 데이터 파일 변경 없이 스키마를 자유자재로 바꾸는 '스키마 진화'에 대해 배웠습니다. 엔지니어의 유지보수 고통을 덜어주는 아주 고마운 기능이었죠.오늘은 엔지니어를 넘어 데이터를 조회하는 분석가(Analyst)와 사용자들이 환호할 만한 기능을 소개합니다.혹시 Hive나 기존 데이터 레이크 환경에서 "파티션 컬럼을 WHERE 절에 안 넣어서 전체 데이터(Full Scan)를 다 읽어버리는 사고"를 겪어보신 적 있나요? 쿼리 한 번 잘못 날렸다가 클러스터가 멈추고 비용 폭탄을 맞는 끔찍한 경험이죠.Apache Iceberg의 숨겨진 파티셔닝(Hidden Partitioning)은 이러한 Human Error를 시스템..

[Apache Spark] 7. [튜닝] 100배 빨라지는 성능 최적화: 캐싱, 파티셔닝, 브로드캐스트

안녕하세요! 여러분의 퍼포먼스 튜닝 마스터, 팬돌프입니다.지난 6편에서 우리는 스파크 성능 저하의 주범인 셔플링(Shuffling)의 존재를 알게 되었습니다. "네트워크를 타고 데이터가 날아다니는 비용"이 얼마나 비싼지 이해하셨죠?오늘은 그 비싼 비용을 획기적으로 줄이고, 여러분의 스파크 애플리케이션을 최소 10배에서 최대 100배까지 빠르게 만드는 실전 최적화(Optimization) 기법 3가지를 전수해 드립니다.이 기술들을 적용하기 전과 후, Spark UI에서 줄어든 실행 시간을 확인하신다면 짜릿한 전율을 느끼실 겁니다.1. 기억력을 높여라: 캐싱(Caching)과 Persistence스파크는 기본적으로 지연 연산을 하기 때문에, 액션(Action)을 호출할 때마다 처음부터 다시 계산합니다.상황:..

반응형