0
我试图连接两个dataframes具有相同的列名,并计算了一些新的价值。之后,我需要删除第二个表的所有列。列数很大。我怎样才能以更简单的方式做到这一点?我试图.drop(“table2。*”),但这不工作。星火SQL数据框中删除所有列从别名表连接后
我试图连接两个dataframes具有相同的列名,并计算了一些新的价值。之后,我需要删除第二个表的所有列。列数很大。我怎样才能以更简单的方式做到这一点?我试图.drop(“table2。*”),但这不工作。星火SQL数据框中删除所有列从别名表连接后
您可以使用select
用别名必要的列:
df1.alias("df1")
.join(df2.alias("df2"), Seq("someJoinColumn"))
.select($"df1.*", $"someComputedColumn", ...)
参考与父DataFrame
:
df1.join(df2, Seq("someJoinColumn")).select(df1("*"), $"someComputedColumn", ...)
而不是丢弃的,你可以选择所有要保持进一步的操作类似下面
val newDataFrame = joinedDataFrame.select($"col1", $"col4", $"col6")
它不是一种情况,如果我第二张桌子上有50列+50列。我可以选择“表1。*” +新列的名称 – Mike
希望这有助于http://stackoverflow.com/a/35341524/1025328 –