1. 학습
  2. /
  3. 강의
  4. /
  5. Làm sạch dữ liệu với PySpark

Connected

연습 문제

Dùng broadcasting trong phép join của Spark

Hãy nhớ rằng các phép join bảng trong Spark được phân tán cho các worker trong cụm. Nếu dữ liệu không nằm tại chỗ, Spark sẽ cần thực hiện nhiều thao tác shuffle và điều này có thể làm giảm hiệu năng. Thay vào đó, ta sẽ dùng thao tác broadcast của Spark để cung cấp cho MỖI nút một bản sao của dữ liệu được chỉ định.

Một vài mẹo nhỏ:

  • Hãy broadcast DataFrame nhỏ hơn. DataFrame càng lớn thì thời gian truyền đến các worker càng nhiều.
  • Với các DataFrame nhỏ, đôi khi tốt hơn là bỏ qua broadcasting và để Spark tự tối ưu.
  • Nếu bạn xem kế hoạch thực thi truy vấn, broadcastHashJoin cho thấy bạn đã cấu hình broadcasting thành công.

Các DataFrame flights_df và airports_df đã sẵn sàng cho bạn sử dụng.

지침

100 XP
  • Import phương thức broadcast() từ pyspark.sql.functions.
  • Tạo DataFrame mới broadcast_df bằng cách join flights_df với airports_df, sử dụng broadcasting.
  • Hiển thị kế hoạch truy vấn và xem xét điểm khác biệt so với bản gốc.