30분
JOIN: 테이블을 연결하는 기술
Day 2: SQL 잘하면 Spark도 잘한다
JOIN: 테이블을 연결하는 기술
Apache Spark: 대용량 데이터 처리의 시작 > Day 2: SQL 잘하면 Spark도 잘한다
학습 목표
다양한 Join 유형을 이해하고 활용할 수 있다 broadcast join으로 성능을 최적화할 수 있다
Join 유형 한눈에 보기
에디터 로딩 중...
| Join 유형 | 설명 | 결과 |
|---|---|---|
| inner | 양쪽 모두 있는 것만 | 1, 2 |
| left | 왼쪽 전체 + 오른쪽 매칭 | 1, 2, 3, 4 |
| right | 오른쪽 전체 + 왼쪽 매칭 | 1, 2, 5 |
| outer | 양쪽 전체 | 1, 2, 3, 4, 5 |
| left_semi | 왼쪽 중 오른쪽에 있는 것 | 1, 2 |
| left_anti | 왼쪽 중 오른쪽에 없는 것 | 3, 4 |
Spark Join 문법
에디터 로딩 중...
Broadcast Join (성능 팁!)
작은 테이블을 모든 Executor에 복사해서 Shuffle 없이 Join.
에디터 로딩 중...
언제 쓰나?
- 한쪽 테이블이 충분히 작을 때 (기본 10MB 이하)
- 대용량 테이블과 소량 테이블의 Join
에디터 로딩 중...
힌트 보기
- • join(df, "key", "type") 형태
- • left_anti는 NOT IN과 유사
- • broadcast()로 작은 테이블 최적화
- • 3개 이상 Join은 체이닝
정답 보기
에디터 로딩 중...