我正在尝试使用相同的列名连接两个数据帧并计算一些新值。之后,我需要删除第二个表的所有列。列数很大。我怎样才能更容易地做到这一点?我试着.drop(" table2。*"),但这不起作用。
答案 0 :(得分:1)
您可以将select
与别名一起使用:
df1.alias("df1")
.join(df2.alias("df2"), Seq("someJoinColumn"))
.select($"df1.*", $"someComputedColumn", ...)
与父DataFrame
的引用:
df1.join(df2, Seq("someJoinColumn")).select(df1("*"), $"someComputedColumn", ...)
答案 1 :(得分:0)
您可以选择所有必要的列,而不是删除,以进行下面的进一步操作
val newDataFrame = joinedDataFrame.select($"col1", $"col4", $"col6")