Apache Spark는 분산 데이터 처리를 위한 세 가지 기본 추상화인 RDD, Dataframe, Dataset을 제공합니다. Spark에서의 가장 기본적인 저수준 데이터의 추상화 레이어불변성(Immutable) : 한번 값이 정해지면 변경되지 않기 때문에 데이터

Shuffle이란 Spark 클러스터 내에서 데이터의 재분배 프로세스입니다. Spark에서는 하나의 Task 내에서 1개의 파티션이 처리가 되고 1개의 파티션을 처리할 때 1개의 core가 사용됩니다. 이때 각 파티션마다 데이터의 이동이 일어나게 되고 이를 shuffl
Partition Pruning이란 무엇인가! Pruning은 가지치기 라는 사전적 의미를 가지고 있습니다. 즉 Partition Pruning은 불필요한 파티션을 가지치기 하고 필요한 파티션 내의 데이터만 읽는다는 의미로 이해할 수 있습니다. Filter push

Broadcast Hash Join은 조인 시 하나의 테이블이 작은 사이즈일 경우 유용합니다. 작은 쪽의 데이터 값을 해시 테이블로 만들어 Driver를 통해 모든 Worker 노드에 복사되고 각 파티션 내에서 조인이 수행됩니다. spark.sql.autoBroadca