我是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回答我的问题 –