用例是在给定的列中找到n个最大行(这些列可以是n个列),一旦拥有n个键,便将其重新连接到原始数据集以获取所需的所有行>
val df = Seq((“ 12”,“ Tom”,“ Hanks”), (“ 13”,“ Meryl”,“ Streep”), (“ 12”,“汤姆”,“哈迪”), (“ 12”,“ John”,“ Streep”) ).toDF(“ age”,“ firstname”,“ lastname”)
让我们说我想将每个列与包含上面所有三列的较大的actor数据集单独连接。
val v1 = actors.join(df,Seq("id"),"inner")
val v2 =actors.join(df,Seq("firstname"),"inner")
val v3 =actors.join(df,Seq("lastname"),"inner")
val output = v1.union(v2).union(v3)
有什么方法可以不重复执行此操作?同样因为要连接的列可以是动态的。例如,有时它只能是id,或者只能是id和firstname。