Spark 기타 기능과 메모리 관리Spark 기타 기능Broadcast Variable룩업 테이블 등을 브로드캐스팅하여 셔플링을 막는 방식으로 사용브로드캐스트 조인에서 사용되는 것과 동일한 테크닉대부분 룩업 테이블 (혹은 디멘션 테이블)을 Executor로 전송하는 데 사용spark.sparkContext.broadcast 사용ClosureSerialization이 Task 단위로 일어남UDF 안에서 파이썬 데이터 구조를 사용하는 경우BroadcastSerialization이 Worker Node 단위로 일어남UDF 안에서 브로드캐스트 된 데이터 구조를 사용하는 경우Broadcast 데이터 셋의 특징Worker Node로 공유되는 변경 불가 데이터 (Immutable)Worker Node 별로 한 번 ..
Spark ML 소개Spark ML 소개Spark ML머신러닝 관련 다양한 알고리즘, 유틸리티로 구성된 라이브러리Classification : Logistic regression, Decision Tree, Random Forest, Gradient-boosted Tree 등Regression : Linear Regression, Decision Tree, Random Forest, Gradient-boosted Tree 등 Clustering : K-means, LDA, GMM 등Collaborative Filtering (추천) : 명시적인 피드백(리뷰 평점)과 암묵적인 피드백 기반(클릭, 구매) 딥러닝은 기능이 미약RDD 기반과 데이터 프레임 기반 버전이 존재항상 spark.ml을 사용할 것 :sp..
Spark 내부동작Spark 파일 포맷작업에 맞는 파일 최적화 필요Unstructured (비구조화) : TextSemi-structured (반구조화) : json, xml, csvStructured (구조화) : parquet, avro, orc, sequencefileSpark의 주요 파일 포맷Splittable : HDFS 데이터 블록의 Partition으로 바로 올라갈 수 있는지 여부Human readable : 사람이 읽을 수 있는지 여부Nested structure support : subfield를 지원하는지 여부Schema evolution : 스키마가 다른 데이터끼리 사용 가능한지 여부ParquetSpark의 기본 파일 포맷Hybrid Storage 방식하나의 데이터 블록은 하나의 Ro..