Joindre deux ordinaire RDDs avec/sans Spark SQL

J'ai besoin de joindre deux ordinaire RDDs sur une ou plusieurs colonnes. Logiquement, cette opération est équivalente à la base de données opération de jointure de deux tables. Je me demande si ce n'est possible que par Spark SQL ou il y a d'autres façons de le faire.

Comme un exemple concret, pensez
CA r1 avec une clé primaire ITEM_ID:

(ITEM_ID, ITEM_NAME, ITEM_UNIT, COMPANY_ID)

et CA r2 avec une clé primaire COMPANY_ID:

(COMPANY_ID, COMPANY_NAME, COMPANY_CITY)

Je veux rejoindre r1 et r2.

Comment cela peut-il être fait?