Trong bài học này, chúng ta tìm hiểu về Join trên Pair RDDs, một kỹ thuật mạnh mẽ trong Spark giúp kết hợp dữ liệu từ nhiều nguồn lại với nhau.

Joins trong Spark tương tự như joins trong cơ sở dữ liệu, nhưng chúng chỉ áp dụng cho Pair RDDs (RDD có dạng (key, value)).


1. Joins trong Spark là gì?

📌 Join là một phép toán kết hợp hai Pair RDDs thành một Pair RDD mới dựa trên key chung.

📌 Hai loại Join quan trọng:

  1. Inner Join (join) – Giữ lại các phần tử có key xuất hiện trong cả hai RDD.
  2. Outer Join (leftOuterJoin, rightOuterJoin) – Giữ lại các phần tử ngay cả khi key chỉ xuất hiện trong một RDD.

💡 Ứng dụng thực tế của Join:


2. Dataset ví dụ: Hệ thống tàu điện Thụy Sĩ 🇨🇭

Hệ thống tàu điện có 2 tập dữ liệu chính:

  1. abos (Subscriptions) – Chứa thông tin về khách hàng & loại thẻ giảm giá.
  2. locations (Frequent Travel Cities) – Chứa thông tin thành phố khách hàng thường đến.

📌 Dữ liệu thẻ giảm giá (abos RDD):


(101, (Gress, DemiTarif))
(102, (Smith, AG))
(103, (Müller, DemiTarif))
(104, (Johnson, DemiTarif))