1. 학습
  2. /
  3. 강의
  4. /
  5. PySpark로 데이터 정제하기

Connected

연습 문제

Spark 조인에서 브로드캐스팅 사용하기

Spark에서 테이블 조인은 클러스터 워커 간에 분산되어 실행됩니다. 데이터가 로컬에 없으면 다양한 셔플 작업이 필요하고, 이는 성능에 부정적인 영향을 줄 수 있어요. 대신 Spark의 broadcast 연산을 사용해 지정한 데이터를 각 노드에 복사해 주겠습니다.

몇 가지 팁:

  • 더 작은 DataFrame을 브로드캐스트하세요. DataFrame이 클수록 워커 노드로 전송하는 데 시간이 더 오래 걸립니다.
  • 작은 DataFrame의 경우, 브로드캐스트를 생략하고 Spark가 자체적으로 최적화를 찾도록 두는 것이 더 나을 수 있어요.
  • 쿼리 실행 계획에서 broadcastHashJoin이 보이면 브로드캐스팅이 성공적으로 설정된 것입니다.

DataFrame flights_df와 airports_df를 사용할 수 있어요.

지침

100 XP
  • pyspark.sql.functions에서 broadcast() 메서드를 가져오세요.
  • 브로드캐스팅을 사용해 flights_df와 airports_df를 조인하여 새로운 DataFrame broadcast_df를 만드세요.
  • 쿼리 플랜을 표시하고 원래와의 차이점을 살펴보세요.