Spark sql dataframe 在连接后从别名表中删除所有列

Mik*_*ike 8 apache-spark

我正在尝试连接两个具有相同列名的数据框并计算一些新值。之后我需要删除第二个表的所有列。列的数量是巨大的。我怎样才能以更简单的方式做到这一点?我尝试 .drop("table2.*"),但这不起作用。

zer*_*323 7

您可以select与别名一起使用:

df1.alias("df1")
  .join(df2.alias("df2"), Seq("someJoinColumn"))
  .select($"df1.*", $"someComputedColumn", ...)
Run Code Online (Sandbox Code Playgroud)

与家长参考DataFrame

df1.join(df2, Seq("someJoinColumn")).select(df1("*"), $"someComputedColumn", ...)
Run Code Online (Sandbox Code Playgroud)