30

JOIN: 테이블을 연결하는 기술

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은 체이닝
정답 보기
에디터 로딩 중...