스파크의 Adaptive Query Execution
Spark 3.0에서 등장한 Adaptive Query Execution에 대해 알아보았습니다. 런타임에서 동작하는 옵티마이저가 어떤 것인지와 주요 3가지 기능, 사용법까지 다룹니다. 스파크의 쿼리 옵티마이저는 다음과 같이 발전해 왔습니다. Spark 1.x: rule-based Spark 2.x : rule-based & ...
Spark 3.0에서 등장한 Adaptive Query Execution에 대해 알아보았습니다. 런타임에서 동작하는 옵티마이저가 어떤 것인지와 주요 3가지 기능, 사용법까지 다룹니다. 스파크의 쿼리 옵티마이저는 다음과 같이 발전해 왔습니다. Spark 1.x: rule-based Spark 2.x : rule-based & ...
여러 플랫폼을 넘나드는 온라인 혐오 생태계의 회복력과 적응력을 네트워크 분석을 통해 보여준 연구를 소개합니다. 검열과 방임 사이 균형을 잘 잡으면서 혐오 표현을 어떻게 효과적으로 규제할 수 있을까요? 소셜 네트워크 서비스를 포함한 다양한 온라인 플랫폼에서는 혐오 발언과 집단을 적절하게 통제하고 대응하는 것이 중요합니다. 온라인 혐오 발언은 단...
자기지도학습(Self-Supervised Learning)으로 이상치를 탐지하는 방법을 제시한 논문(Learning and Evaluating Representations for Deep One-class Classification)를 읽어 봅니다. 제목은 베스트셀러처럼 지어 봤습니다. (들어가기 전) 라벨 유무에 따른 이상치 탐지 방법들 ...
스파크의 구조적 API의 실행 계획에 대해 알아봅니다. 이번 글의 주제는 우리가 작성한 스파크 코드가 어떻게 실제 스파크 내부의 실행 코드로 변환되는지 그 과정을 살펴보는 것입니다. 오늘 다룰 내용은 아래와 같은 한 장의 그림으로 요약될 수 있습니다. 예시 테이블 만들기 pizza_schema = T.Stru...
머신러닝 모델의 공정성(Fairness)에 대한 튜토리얼을 목적으로 작성된 글입니다. 공정성 논의가 등장한 배경, 정의, 완화 기법을 살펴보고 관련 툴킷인 AIF 360을 대출 승인 예측 모델에 사용해 봅니다. 공정한 모델은 왜 필요할까? COMPAS라는 소프트웨어는 각 피고에 대해 성별, 나이, 인종, 전과, 사는 지역, 사회경제적 수준 ...
Label Propagation Algorithm은 라벨이 부족할 때 유용한 준지도학습 테크닉이자 대규모의 그래프에 적용 가능한 쉽고 빠른 커뮤니티 탐지 기법이기도 합니다. 이 글에는 LPA 뜯어보기, 넘파이로 구현하기, 그리고 해리 포터 시리즈의 등장인물 네트워크 속 커뮤니티 탐지해보기 등의 내용이 포함되어 있습니다. 그래프 기반의 준지도학...
글또를 또 하게 되었다. 글또는 글 쓰는 개발자 모임이고, 6개월 단위로 예치금을 내고 2주에 한 번 글을 업로드하고 피드백을 주고 받는 방식으로 여섯 기수째 운영되고 있다. 나는 4기부터 참여해서 이번이 세번째로 참여하게 되었다. 글또를 안 하는 기간에는 역시 글을 하나도 안 썼다. 글만 안 썼냐 하면, 전반적으로 그다지 한 게 없다. 지난 두...
쏘프라이즈에 제출한 글이며, 데이터를 기반으로 한국 탄소배출량의 2030년 감축 목표를 제안할 수 있을까? 라는 질문에 대한 답입니다. 여기 에서도 볼 수 있습니다. 한국의 2030년 탄소배출량 감축 목표를 제안하기 위해 데이터를 살펴봤습니다. [상태 점검] 우선 전반적인 탄소배출량 지표와 인구/경제 성장 면에서 한국과 가장 비슷한 위...
콜모고로프-스미르노프 검정와 바서슈타인 거리를 포함하여 단변량 분포 간의 거리 함수를 다룹니다. Detecting Anomalies Using Statistical Distances / SciPy 2018 를 바탕으로 정리한 내용입니다. 주어진 베이스라인 분포가 있을 때 이를 새로운 데이터의 분포와 비교해서 둘이 다른지 확인하고 싶다고 합시다...
주로 데이터 편향에서 비롯되는 스파크 성능 저하 또는 처참한 실패에 부딪혔을 때, 시도해 볼 수 있는 코드 작성 수준의 스파크 성능 최적화 방법들을 알아보았습니다. 이 글을 쓰게 된 이유 저는 회사에서 일정 시간마다 돌아가는 스파크 배치 잡을 pyspark로 작성하는 일이 많습니다. 며칠 전에 등록한 배치 잡이 실패한 일이 있었는데요. 처음...