【发布时间】:2021-08-27 16:24:26
【问题描述】:
我正在使用数据框在 scala 中工作,但数据框有大约 60 列。
在 Databricks 管道中,我们将几列与一个标识列分开来验证一些数据,从而产生一个“参考”数据框。我想将它加入到主要的大型数据框中,并将经过验证的数据插入到原始列中。
为简单起见,我希望生成的数据框与原始的架构相匹配,因此没有任何参考列。
在小范围内,这并不太难:
myDF = myDF
.join(refDF,
myDF("Identity") === refDF("RefIdentity"),
"inner")
.withColumn("Foo", $"refFoo")
.select("Identity","Foo","Column2","Column3"...)
当处理大量列时,这会变成一个巨大的痛苦。有没有更快的方法在 withColumn 操作之后只从 myDF 中选择列?
【问题讨论】:
-
是的,你可以。首先用
val cols=myDf.columns保存myDf 的列,然后在最终的选择表达式中使用cols -
确认就是这么简单 - .select(cols.head, cols.tail: _*) 我们开始比赛了。谢谢
标签: scala dataframe azure-databricks