我是Spark Scala的新成員,我想使用兩個數據框或RDD計算相似性變量。我沒有兩者之間的共同關鍵,我做了笛卡爾連接,但加入的Df是巨大的。是否有可能從兩個DF中計算一個新變量而不加入它們?Group使用Spark Scala的兩個不同數據框中的兩個不同鍵不加入
如:
df1.show
+----+------------+------+
| id1| food| level|
+----+------------+------+
|id11| pasta| first|
|id11| pizza|second|
|id11| ice cream| first|
|id12| spanish| first|
|id12| ice cream|second|
|id13| fruits| first|
+----+------------+------+
df2.show
+----+---------+
| id2| food|
+----+---------+
|id21| pizza|
|id21| fruits|
|id22| pasta|
|id22| pizza|
|id22|ice cream|
+----+---------+
對於來自各DF1 ID1,我想通過ID2環食變量從DF2分組。
我想要得到這個輸出中:
+----+----+----------------+
| id1| id2|count_similarity|
+----+----+----------------+
|id11|id21| 1|id11 and id21 have only "pizza' in common
|id11|id22| 3|
|id12|id21| 0|
|id12|id22| 1|
|id13|id21| 1|
|id13|id22| 0|
+----+----+----------------+
是否有可能來計算這個使用上RDD地圖句子? 謝謝
謝謝Psidom回答我的問題 –